STL-Map
-
Hey
kleine Frage:
wie löst man folgendes
if(myMap["Key"] == "value")ich dachte das würde gehen, nur ist diese abfrage immer falsch

jemand ne idee?
-
Welchen Typ hat myMap?
-
std::string
-
frager schrieb:
std::string
sorry: std::map<std::string, std::string>
-
Sollte gehen.
Was speicherst Du denn in die Map?
Unter Key schon Value eingetragen?
-
Das geht so. Der Fehler liegt wo anders.

-
Hi,
hier habe ich mal was geschrieben was die C++ Strings und die CStrings mit Text vergleicht. Sieht alles richtig bei dir aus, da müssen dir dann wohl doch die Profis helfen.
G hibbes
#include <iostream> #include <cstring> #define BUF 64 using namespace std; int main() { char c_str[BUF]; cout << "C-String Vergleich mit \"ctext\":"; cin >> c_str; if (strncmp(c_str, "ctext", BUF) == 0) cout << "C-Strings sind gleich" << endl; string cpp_str; cout << "C++ String Vergleich mit \"cpptext\":"; cin >> cpp_str; if ( cpp_str == "cpptext") cout << "C++ Strings sind gleich" << endl; }
-
danke hibbes für deine Mühe, habe aber den Fehler gefunden.
beim auslesen der datei hat er das '\n' auch mitgenommen.
ärgerlicher fehler.tut leid für stress

danke an alle!
-
Bitte, war aber keine Mühe, da ich noch dick am Lernen von C++ bin und so kleine Beispiele sind gut fürs Verständnis.
Schön das du den Fehler gefunden hast, man kennt das ja, das wurmt dann die ganze Zeit.
G hibbes
-
Willst du wirklich
operator[]verwenden? Der erstellt einen leeren String, wenn noch kein Eintrag vorhanden ist.Die Alternative wäre
find().
-
Nexus schrieb:
Willst du wirklich
operator[]verwenden? Der erstellt einen leeren String, wenn noch kein Eintrag vorhanden ist.Die Alternative wäre
find().
gute idee!Danke
