Strings de entrada do usuário C++
Strings de entrada do usuário
É possível usar o operador de extração >>
on cin
para exibir uma string inserida por um usuário:
Exemplo
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
No entanto, cin
considera um espaço (espaço em branco, tabulações, etc) como um caractere de terminação, o que significa que só pode exibir uma única palavra (mesmo que você digite muitas palavras):
Exemplo
string fullName;
cout << "Type your full name: ";
cin >>
fullName;
cout << "Your name is: " <<
fullName;
// Type your full name: John Doe
// Your name is: John
No exemplo acima, você espera que o programa imprima "John Doe", mas ele imprime apenas "John".
É por isso que, ao trabalhar com strings, geralmente usamos a getline()
função para ler uma linha de texto. Ele toma cin
como primeiro parâmetro e a variável string como segundo:
Exemplo
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