C++- Benutzereingabezeichenfolgen
Benutzereingabezeichenfolgen
Es ist möglich, den Extraktionsoperator >>
on cin
zu verwenden, um eine von einem Benutzer eingegebene Zeichenfolge anzuzeigen:
Beispiel
string firstName;
cout << "Type your first name: ";
cin >>
firstName;
// get user input from the keyboard
cout << "Your name is: " <<
firstName;
// Type your first name: John
// Your name is: John
Betrachtet jedoch cin
ein Leerzeichen (Leerzeichen, Tabulatoren usw.) als abschließendes Zeichen, was bedeutet, dass nur ein einzelnes Wort angezeigt werden kann (auch wenn Sie viele Wörter eingeben):
Beispiel
string fullName;
cout << "Type your full name: ";
cin >>
fullName;
cout << "Your name is: " <<
fullName;
// Type your full name: John Doe
// Your name is: John
Aus dem obigen Beispiel würden Sie erwarten, dass das Programm "John Doe" druckt, aber es druckt nur "John".
Deshalb verwenden wir bei der Arbeit mit Strings oft die getline()
Funktion, um eine Textzeile zu lesen. Es nimmt cin
als ersten Parameter und die String-Variable als zweiten:
Beispiel
string fullName;
cout << "Type your full name: ";
getline (cin, fullName);
cout << "Your name is: " <<
fullName;
// Type your full name: John Doe
// Your name is: John Doe