Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: kur79 en 10 Septiembre 2015, 22:16 PM

Título: Ayuda con varias palabras en un string
Publicado por: kur79 en 10 Septiembre 2015, 22:16 PM
Pues eso, llevo ya varios años programando y no me ha pasado esto, pero estoy haciendo un proyecto y en un string solo me permite almacenar una palabra. Me explico, necesito que el usuario inserte 2 datos que son nombre y apellidos, pero cuando el cin>>nombre le paso 2 palabras como "Jose Luis" pero me almacena nombre=jose apellidos=luis y continua el programa.  :-[
Esto ocurre con todo lo que trato de hacer no solo en este programa, ¿alguna idea? Gracias
Título: Re: Ayuda con varias palabras en un string
Publicado por: ivancea96 en 10 Septiembre 2015, 22:19 PM
Código (cpp) [Seleccionar]
// Si usaste cin>>X antes, coloca esta linea:
cin.ignore();

string t;
getline(cin, t);
Título: Re: Ayuda con varias palabras en un string
Publicado por: kur79 en 10 Septiembre 2015, 22:21 PM
Nop, aún me ocurre  :huh:
Título: Re: Ayuda con varias palabras en un string
Publicado por: ivancea96 en 10 Septiembre 2015, 23:02 PM
Es improbable que ocurra eso con getline. Coloca el código.
Título: Re: Ayuda con varias palabras en un string
Publicado por: kur79 en 10 Septiembre 2015, 23:21 PM
Creo que te referías así¿?

Código (cpp) [Seleccionar]
  string nombre,apellidos;
           cout<<"Intruduce el nombre: ";
           getline(cin, nombre);
           cin.ignore();
           cout<<"Intruduce los apellidos: ";
           getline(cin, nombre);
           cout<<nombre<<endl;
           cout<<apellidos<<endl;


esto obtengo de la consola

Intruduce el nombre: Jose Luis

Intruduce los apellidos: Romer Rincon
Romer Rincon

read from master failed
                      : Input/output error

RUN FAILED (exit value 1, total time: 17s)


Título: Re: Ayuda con varias palabras en un string
Publicado por: someRandomCode en 11 Septiembre 2015, 02:31 AM
Directamente std::cin >> nombre; en vez de usar getline asi
Título: Re: Ayuda con varias palabras en un string
Publicado por: ivancea96 en 11 Septiembre 2015, 11:16 AM
no pongas el cin.ignore salvo que uses "cin>>" antes. Así que en ese código, no lo uses.