Problem mit getline trotz SP6
-
getline(cin, str);
übergeht die erste Eingabe, obwohl ich das ServicePack6 aufgespielt habe.
Woran liegt das?
-
Wahrscheinlich hängt noch irgendwo ein Newline im Eingabepuffer rum. Das Dumme ist nur, dass das standardkonformes Verhalten ist. Du musst halt schauen, dass du das irgendwie rauskriegst, z.B. mit cin.ignore.
Meiner Meinung nach ist das IO-System von C++ sowieso nicht ganz das Wahre...
PS: Das Problem lässt sich am einfachsten umgehen, wenn man für cin immer nur getline aufruft, und zwar für alle Eingaben (auch Zahlen). Die Umwandlung überlässt man dann am besten der Klasse std::istringstream.
-
Der getline Bug ist afaik auch nicht im SP6 behoben.
Schau mal hier:
http://support.microsoft.com/default.aspx?scid=kb;en-us;240015Dann siehst Du auch selbst, ob der Bug für Dich behoben ist oder nicht.
-
Hmm....
Frage: Wenn ich etwas fuer Microsoft proge,
muss ich die Bug-liste auch beachten, auch wenn ich cross-compile mache?Ghost
-
lol