std::string + map



  • Hi

    Kennt sich einer von euch aus?

    wie kann ich bei

    std::string str

    jetzt sowas in der art machen? str.lower(); ? die funktion gibts ja nicht. Wie macht man das dann?

    die zweite frage wäre:

    wie funktioniert map?

    warum ist eine map so definiert

    ( int, int , typ, typ ) ?

    Warum reicht nicht

    ( int, typ, typ ) ?

    muss ich gleich im voraus wissen wie gross es ist, oder kann ich ala pushback dranhängen?

    Ich möchte als typ 2 mal string haben

    z.b.

    auto : bmw
    haus : villa
    uhr : rolex

    wenn ich jetzt mache

    mymap.wie_finde_ich_raus("auto") das jetzt bmw kommt?

    in der richtung

    key auto, was ist wert?

    in perl oder phyton jetzt das ja hervorragend. und in c?? muss ich da selber alle elemente durchegen? kennt da jemand ein gutes tutorial?



  • Hi,

    Zu Frage1:

    #include <iostream>
    #include <string>
    
    void my_to_lower(char & sign )
    {
      sign = tolower(sign);     
    }
    void StringToLower(std::string & str)
    {
      std::for_each(str.begin(),str.end(), std::ptr_fun(my_to_lower) );
    }
    

    zur 2. Frage: Wo von zum Teufel sprichst du ?

    Wie kommst du darauf das ein Map mit int int string string definiert ist ? 😕

    Naja egal

    #include <map>
    #include <string>
    
    std::map< std::string , std::string > the_map;
    the_map["auto"] = "bmw";
    the_map["hause"] = "villa";
    the_map["uhr"] = "rolex";
    
    std::cout << the_map["auto"] << std::endl; // usw..
    

    Lies und lerne:
    http://www.sgi.com/tech/stl/Map.html

    MfG



  • c+++ schrieb:

    Kennt sich einer von euch aus?

    Nein, wesentlich mehr.

    c+++ schrieb:

    wie kann ich bei

    std::string str

    jetzt sowas in der art machen? str.lower(); ? die funktion gibts ja nicht. Wie macht man das dann?

    FAQ?

    c+++ schrieb:

    die zweite frage wäre:

    wie funktioniert map?

    Schau dir doch mal ein Tutorial an, hm? Wenn du schon über "Hello World" hinaus bist tut's sicher auch schlicht die Doku zu map.

    c+++ schrieb:

    warum ist eine map so definiert

    ( int, int , typ, typ ) ?

    Warum reicht nicht

    ( int, typ, typ ) ?

    😕

    c+++ schrieb:

    muss ich gleich im voraus wissen wie gross es ist, oder kann ich ala pushback dranhängen?

    nein, musst du nicht.

    c+++ schrieb:

    ...
    mymap.wie_finde_ich_raus("auto") das jetzt bmw kommt?
    ...

    string mycar = mymap["auto"];
    // oder
    string mycar;
    map<string, string>::const_iterator mapIt = mymap.find("auto");
    if (mapIt != mymap.end()) {
      mycar = mapIt->second;
    }
    // je nach dem (in doppeltem Sinne)
    

    c+++ schrieb:

    ... kennt da jemand ein gutes tutorial?

    www.volkard.de wird immer wieder empfohlen, ansonsten gibt's oben rechts ein Link, "Tutorials".





  • vielen vielen tausend dank!

    ich habe

    map in der MSDN angesehen und bei

    map

    steht dran

    base::map und da kommt das so 😕



  • Könntest du deine Frage neu formulieren? Am besten verständlich, wenn es nicht zu viele Umstände bereitet. (Und poste mal den Link.)


Anmelden zum Antworten