Ich habe einige Verständnisprobleme in Bezug auf die stringstream.stringstream.good()> Unterschiedliches Verhalten in VS und Eclipse Compiler
Beispiel:
stringstream stream(commands);
while (true) {
string line;
getline(stream, line);
if (!stream.good())
break;
if (line.size() > 0){
lines.push_back(line);
}
else{
break;
}
}
Wenn ich diesen Code verwenden in Eclipse ist es kein Problem, es wie erwartet. Mit diesem in Vistual Studio 2005 stream.good() scheint immer falsch
warum zurückzukehren?
Ich würde wirklich eine Erklärung zu schätzen wissen.
Sie können den ganzen Code nehmen und es durch 4 Zeilen ersetzen, die das gleiche tun, wissen Sie ... http://ideone.com/tLCTl - mit .good() ist fast nie eine gute Idee. Verwenden Sie den Stream-Status, getline gibt den Stream zurück. – etarion
geben Sie mir einen Moment ich versuche, eine andere verdrahtete C++ Sache zu finden ... – Beasly
scheint zu arbeiten. Aber ich würde gerne wissen, warum die gute() Methode nicht gut ist zu verwenden? – Beasly