Komisches stringstream/int/string (?) problem...
-
//GesamtKosten: iGesamtKosten = (int)stcGesamt.GesamtKosten; if(iGesamtKosten == 42) MessageBox(hWnd, "ist 42...", "iGesamtKosten", MB_OK); strIntToString << iGesamtKosten; strIntToString >> sGesamtKosten; sGesamtKosten += " Kosten in Gold"; if(sGesamtKosten.find("42") != string::npos) MessageBox(hWnd, "im String wurde 42 gefunden...", "sGesamtKosten", MB_OK); /* Folgendes Problem: das obere if ist true, folglich ist iGesamtKosten == 42, aber warum das untere nicht? */
Falls ihr weiteren Code braucht sagt bescheid...
-
Ich antworte mir mal selber, ich glaube ich hab das Problem gefunden,...
es sind mehrere solche
str << int;
str >> string;und dabei wird immer der gleiche Stringstream benutzt... so funktionierts beim obersten, bei dem danach nicht mehr^^... also für jeden jetzt ein eigener stringstream (str), oder gibts da eine besser Lösung?
-
Hallo,
füge zwischendurch einfach mal ein str.str("") ein. Das setzt den Stringstream wieder zurück.