C++- Benutzereingabezeichenfolgen


Benutzereingabezeichenfolgen

Es ist möglich, den Extraktionsoperator >>on cinzu 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 cinein 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 cinals 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