Uživatelské vstupní řetězce C++
Uživatelské vstupní řetězce
Operátor extrakce je možné použít >>
k cin
zobrazení ř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 cin
považ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 cin
jako 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