Heim >Backend-Entwicklung >C++ >Warum führt das Mischen der Operatoren „getline' und „>>' dazu, dass Eingaben in C ausgelassen werden?
>` Operatoren verursachen Eingabeauslassungen in C? " />
Das Mischen von getline und Operator>> führt zu Eingabeauslassungen
Bei diesem Code tritt ein Problem auf, während versucht wird, Benutzereingaben für den Preis der Jacke mithilfe von getline abzurufen. Trotz Bei der Aufforderung an den Benutzer wird die Eingabe nicht erfasst und stattdessen der Anfangswert „0“ verwendet.
Das zugrunde liegende Problem liegt in der Mischung aus Bei der Verwendung von „Operator>>“ werden die Daten des Benutzers eingegeben, gefolgt von der Eingabetaste, die ein Zeilenumbruchzeichen in den Eingabepuffer einfügt Das Newline-Zeichen wird der Variablen nicht zugewiesen und verbleibt im Puffer.
Anschließend wird beim Aufruf von getline das Newline-Zeichen sofort im Puffer gefunden. das Suchkriterium erfüllt, ohne den Benutzer zur Eingabe aufzufordern.
Lösungen
Um dieses Problem zu beheben, ziehen Sie die folgenden Optionen in Betracht:
Das obige ist der detaillierte Inhalt vonWarum führt das Mischen der Operatoren „getline' und „>>' dazu, dass Eingaben in C ausgelassen werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!