SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: ngb en Domingo 19 de Marzo de 2006, 16:46

Título: Cin Y Getline Con Strings En C++
Publicado por: ngb en Domingo 19 de Marzo de 2006, 16:46
Buenas, he comprobado k en C++ cuando lees de pantalla un string ya sea con cin o getline(y delimitador '\n') si este contiene el caracter espacio, los siguientes caracteres no son leidos y por tanto no son almacenados en la variable string. Incluso llegue a probar con delim '\0' en un acto de desesperacion. Por lo que tengo entendido estas funciones dan bastantes problemas. ¿Que se usa para solucionar este error?

Pongo un ejemplillo para que me entendais si no quedo claro:

string s;
cin>>s; //Introduces por pantalla: Hola Mundo
cout<<s; //Sale por pantalla: Hola


gracias por adelantado

edito: uso VC++ 6.0
Título: Re: Cin Y Getline Con Strings En C++
Publicado por: desgraciado en Domingo 19 de Marzo de 2006, 18:31
hola... aqui esta un pequeño ejemplo.
Código: Text
  1.  
  2. #include &#60;iostream&#62;
  3. #include &#60;string&#62;
  4.  
  5. using namespace std;
  6.  
  7. int main()
  8. {
  9.   string buffer;
  10.   cout &#60;&#60; &#34;introduzca un linea de texto&#34; &#60;&#60; endl;
  11.   getline(cin, buffer);
  12.   cout &#60;&#60; buffer &#60;&#60; endl;
  13.   system(&#34;pause&#34;);
  14.   return 0;
  15. }
  16.  
  17.  
Título: Re: Cin Y Getline Con Strings En C++
Publicado por: ngb en Jueves 13 de Abril de 2006, 12:51
Hoy k he vuelto a pasar x aki quiero confirmar que con el getline me funciono pero que si alguien lo va a usar use antes del getline un fflush(stdin); para vaciar el buffer.

gracias desgraciado x aquella respuesta