Was ich über noskipws
weiß, deaktiviert das Überspringen von Leerstellen. Also muss man in seinem Programm weiße Leerzeichen mit ein paar Zeichen aufnehmen, wenn sie mit noskipws
arbeiten wollen. Ich versuche, die Bedingung cin
auf eof
zu setzen, indem ich Strg + D <( Strg <+ kb> Z ) drücke für Windows). Aber wenn ich eine Eingabe char
oder string
verwende, dann wird der Stream mit einer einzigen Eingabe auf das Ende der Datei gesetzt. Wenn ich jedoch einen anderen Datentyp verwende, muss ich die Kombination zweimal drücken. Wenn ich die noskipws
Anfrage lösche, funktioniert alles andere gut. Der folgende Code erklärt das Problem genauer:
Warum verhält sich cin
so? Es wäre zwar nicht in der Lage, die Eingabe in die Variable int
zu setzen, aber sie sollte zumindest sofort Flags auf eof
setzen, wenn sie die Anfrage empfängt. Warum dauert es eine zweite Eingabe, auch nachdem der Benutzer Strg + Z ?
Wenn noskipws
verwendet wird, ist Ihr Code für die Extraktion von Leerstellen verantwortlich. Wenn Sie int lesen, schlägt es fehl, da Leerraum angetroffen wird.
Siehe ein Beispiel :
%Vor%Oder visuelles Studio .
Tags und Links c++