Ich wollte mit Stringstream für eine Aufgabe experimentieren, aber ich bin ein wenig verwirrt, wie es funktioniert. Ich suchte schnell, konnte aber nichts finden, was meine Frage beantworten würde.Wie liest man Stringstream mit dynamischer Größe?
Angenommen, ich habe einen Stream mit einer dynamischen Größe, woher soll ich wissen, wann ich aufhören soll, in die Variable zu schreiben?
string var = "2 ++ asdf 3 * c";
stringstream ss;
ss << var;
while(ss){
ss >> var;
cout << var << endl;
}
und meine Ausgabe wäre:
2
++
asdf
3
*
c
c
Ich bin mir nicht sicher, warum ich, dass zusätzliche 'c' erhalten am Ende, zumal _M_in_cur = 0x1001000d7 ""
Die Tatsache, dass es ein Stringstream ist ändert nichts von viel - Sie lesen daraus wie jeder andere Stream. –