he el siguiente código:Problema con cin cuando se introducen espacios, usando clase string
main.cpp
#include <iostream>
#include <string>
using namespace std;
string name;
string age;
int main() {
cout <<"Name: ";
cin >> name;
cout << endl;
cout <<"Age: ";
cin >> age;
cout << endl;
cout << "Your name is " << name << ", and you are " << age << " years old." << endl;
cout << "Press enter to close this application" << endl;
getchar();
return 0;
}
me di cuenta de que si pongo un espacio en mi entrada para el nombre que ganó No tengo la oportunidad de ingresar el nombre, y verá la entrada después del espacio como la edad. Me disculpo si este es un error de principiante, que probablemente sea. Anteriormente programé Java y decidí que quería cambiar a C++ porque se adapta mejor a mis necesidades. También es probable que formatee mi código de manera extraña según sus estándares, corríjalo si lo desea.
También he notado otro error, algo que en realidad nunca tuve ningún problema con Java. No puedo entender cómo evitar que se cierre al instante cuando finaliza el procesamiento. He oído que puedes usar "system. (" Pause "), pero también me han dicho que no lo use. Realmente estoy confundido sobre qué usar. He oído usar getchar() ;, pero no parece hacer nada.
Cualquier ayuda sería muy apreciada, ya que soy un principiante cuando se trata de C++.
@chris Me gustaría elegir su comentario como respuesta, pero realmente no creo que me lo permita. Gracias por tu ayuda. ¿Te importaría volver a publicar eso o algo como respuesta para poder seleccionarlo? –
Antes de su comentario, decidí hacer una respuesta más detallada. Está allí (y afortunadamente no tiene errores sutiles) si quieres leerlo. – chris
Ah, y la razón por la que su 'getchar' no funciona es la misma razón por la que mi primer ejemplo para reemplazar' system ("pause") 'no funciona. Se explica en la respuesta. – chris