C++ Benutzereingabezeichenfolgen
Benutzereingabezeichenfolgen
Es ist möglich, den Extraktionsoperator >>
auf cin
zu verwenden, um eine von einem Benutzer eingegebene Zeichenfolge zu speichern:
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
Allerdings betrachtet cin
ein Leerzeichen (Leerzeichen, Tabulatoren usw.) als Abschlusszeichen, was bedeutet, dass nur ein einzelnes Wort gespeichert 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“ ausgibt, aber es gibt nur „John“ aus.
Aus diesem Grund verwenden wir bei der Arbeit mit Zeichenfolgen häufig den getline()
Funktion zum Lesen einer Textzeile. Es verwendet cin
als ersten Parameter und die Zeichenfolgenvariable 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
Run example »