Foro de elhacker.net

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
  1. // Si usaste cin>>X antes, coloca esta linea:
  2. cin.ignore();
  3.  
  4. string t;
  5. 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
  1.   string nombre,apellidos;
  2.            cout<<"Intruduce el nombre: ";
  3.            getline(cin, nombre);
  4.            cin.ignore();
  5.            cout<<"Intruduce los apellidos: ";
  6.            getline(cin, nombre);
  7.            cout<<nombre<<endl;
  8.            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.