Heim >Backend-Entwicklung >C++ >Warum verursacht „getline()' bei wiederholter Verwendung eine Eingabeverzögerung?
getline() stoppt die Eingabeverzögerung bei wiederholtem Aufruf
Beim Arbeiten mit Benutzereingaben kann es zu Diskrepanzen zwischen der mehrmaligen Verwendung von getline() kommen. Dieses Problem hindert Benutzer daran, gültige Eingaben einzugeben, was sie verwirrt.
Im bereitgestellten Code wird getline() neben dem Operator >> verwendet. Während >> Ignoriert führende Leerzeichen, nachfolgende „n“-Zeichen werden nicht berücksichtigt. Wenn getline() nach >> verwendet wird, verhält es sich daher unerwartet.
Um dieses Problem zu beheben, ist es wichtig, eine einzige Eingabemethode auszuwählen und diese im gesamten Programm einzuhalten. Wenn es um Zahlen geht, verwenden Sie ausschließlich den Operator >>. Wenn Sie jedoch mit Zeichenfolgen oder einer Mischung aus Datentypen arbeiten, bleiben Sie bei getline() und extrahieren Sie die erforderlichen Zahlen aus den Eingabezeichenfolgen.
Hier ist eine Anpassung des Codes, der nur getline() verwendet:
std::string line;
Das obige ist der detaillierte Inhalt vonWarum verursacht „getline()' bei wiederholter Verwendung eine Eingabeverzögerung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!