Strings de entrada do usuário C++


Strings de entrada do usuário

É possível usar o operador de extração >>on cinpara 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, cinconsidera 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 cincomo 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