C++ Nur Enter bei cin drücken?
In meinem Code habe ich die Zeile:
cin >> VAR901;
Wenn ich bei dieser Eingabe nur Enter drücke, ohne ein Zeichen geschrieben zu haben, wiederholt sich der Befehl. Gibt es da eine Möglichkeit das sich der Befehl nicht wiederholt, und das wenn man nur Enter drückt das die Bool Variable "only_enter" auf true wechselt?
Danke im Voraus!
LG
In dem Code ist nicht ersichtlich was VAR901 oder only_enter sein soll. Es wäre besser du sendest den ganzen Quellcode und nicht nur eine Zeile!
Ansonsten ist Hilfe unmöglich.
Du hasst meine Frage nicht verstanden. Für mein Problem muss ich hier nicht meinen Quellcode posten. Und sowieso, würde ich das niemals tun.
3 Antworten
Ich sehe gerade, dass du wohl auch die Variable gesetzt haben willst, wenn nur Enter gedrückt wurde.
Dazu nimm getline aus <string>:
string input;
getline(cin, input);
if (input.empty()) {
cout << "No input!" << endl;
} else {
cout << "Thanks!" << endl;
}
Ansonsten kannst du mal nach "noskipws" googeln, fallls dich das nicht überfordert.
Naja, egal. Das ist jetzt hoffentlich das, was du erwartet hast. :)
Danke! Und wie mache ich dass das was ich schreibe in einer Variable gespeichert wird?
Naja, wenn Du eine formatierte Eingabe anforderst udn keine getätigt wird (<return>), dann ist doch klar, daß die Operation wiederholt wird.
Als allgemeiner Hinweis: Immer ein Beispiel posten, hier ist nichtmal der Typ der Variable bekannt.
Du möchtest Doku lesen:
http://www.cplusplus.com/reference/istream/istream/
Mit Methoden wie get() oder getline() könntest Du vermutlich Dein Problem lösen.
cin.ignore(0xffff, '\n');
Ich weiß jezt nicht ganz wie ich das umsetzen muss. Muss ich das so machen?
cin.ignore(0xffff, '\n');
cin >> VAR910;