Uživatelské vstupní řetězce C++


Uživatelské vstupní řetězce

Operátor extrakce je možné použít >>k cinzobrazení řetězce zadaného uživatelem:

Příklad

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

Mezeru (mezery, tabulátory atd.) však cinpovažuje za ukončovací znak, což znamená, že může zobrazit pouze jedno slovo (i když napíšete mnoho slov):

Příklad

string fullName;
cout << "Type your full name: ";
cin >> fullName;
cout << "Your name is: " << fullName;

// Type your full name: John Doe
// Your name is: John

Z výše uvedeného příkladu byste očekávali, že program vypíše "John Doe", ale vypíše pouze "John".

Proto při práci s řetězci často používáme getline() funkci čtení řádku textu. Vezme cinjako první parametr a proměnnou řetězce jako druhý:

Příklad

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