getline
-
Warum muss der User denn bei
string text; getline(cin, text);
2 mal mit Enter bestätigen? Kann ich das irgendwie umgehen?
-
wieso sollte er das tun müssen?
hast du getline in einer schleife?
-
beim Einlesen des Themas nein
cout << endl << "neues Thema bzw. Dateiname (Bsp: neues Thema5): "; getline(cin, dateiname);
beim Einlesen des Hilfetextes ja, da muss ich nach Eingabe von QUIT 2 mal bestätigen.
Liegt es vielleicht an dem cout << endl; ???cout << "Und nun zeilenweise Ihr Hilfetext: " << endl; string hilfezeile; while (beenden==false){ getline(cin, hilfezeile); if (hilfezeile=="QUIT" || hilfezeile=="quit"){ beenden=true; cout << endl; }else{ os << hilfezeile << endl; } }
-
Nein, tut es nicht. Es wird wohl an deinem Compiler liegen, lass mich raten: MS Visual C++??? Ich hatte bis vor kurzem das gleiche Problem, habe aber beim Stöbern in diesem Forum die Lösung gefunden:
http://www.c-plusplus.net/forum/viewtopic.php?t=70431
Bis dann!
-
Kannst Du mir villeicht sagen, was ich jetzt konkret ändern muss?
Ich kann mitelse if (_Tr::eq(_C, _D)) {_Chg = true; _I.rdbuf()->snextc(); // replace snextc with sbumpc break; }
irgendwie nicht so viel anfangen
Danke
-
Du hast 2 Möglichkeiten:
1. Änder in deinem Include Verzeichnis (in deinem Visual C++ Installationsverzeichnis) den Code selber, d.h. öffne die string Datei mit VC++, such die betreffende Stelle und nimm die Änderung vor.
2. In dem Beitrag stand noch ein zweiter Link zu HumeSkinnes Seite, wo du eine Zip-datei runterlädst, die alle Bugfixes enthält. In der Installation.txt findest du dann die "Installationsanleitung"
Ich würde dir zu 2. raten, da du dann gleich mehrere Bugfixes drin hast und du nicht Gefahr läufst, Fehler einzugeben.
Aber: Mach vorher lieber trotzdem ein Backup von allen Dateien, die du ersetzt.
-
nur mal eine frage wiso nicht
cin.getline(dateiname);
da ist mir sowas noch nicht pasirt.
MFG TaccoGo
-
ich bin mir da jetzt nicht ganz sicher, aber meines Wissens besteht da folgender Unterschied:
cin.getline(dateiname); //Typ char*
getline(cin, dateiname); //Typ string
Aber ich will da nicht zu voreilig sein, das habe ich jedenfalls bisher so verstanden. Wenn ich da falsch liege, dann lass ich mich auch gerne korrigieren. :p
-
ok ich glaub du hast recht.
ich hab es ausprobirt.
naja hab ich nicht gewust aber in notfahl kan man ja sting und char* umkonvertiren.MFG TaccoGo