Cadenas de entrada de usuario de C++
Cadenas de entrada del usuario
Es posible usar el operador de extracción >>
on cin
para mostrar una cadena ingresada por un usuario:
Ejemplo
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
Sin embargo, cin
considera un espacio (espacio en blanco, tabuladores, etc.) como un carácter de terminación, lo que significa que solo puede mostrar una sola palabra (incluso si escribe muchas palabras):
Ejemplo
string fullName;
cout << "Type your full name: ";
cin >>
fullName;
cout << "Your name is: " <<
fullName;
// Type your full name: John Doe
// Your name is: John
Del ejemplo anterior, esperaría que el programa imprima "John Doe", pero solo imprime "John".
Por eso, cuando trabajamos con cadenas, a menudo usamos la getline()
función para leer una línea de texto. Toma cin
como primer parámetro, y la variable de cadena como segundo:
Ejemplo
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