Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/04/2010, 01:04
Avatar de jose_desa
jose_desa
 
Fecha de Ingreso: marzo-2010
Mensajes: 19
Antigüedad: 14 años, 9 meses
Puntos: 0
Exclamación "Ayuda con getline y strings" (Solucionado) Error en visual studio 6.0

Bueno quisiera ver si me podrian ayudar. Tengo el siguiente codigo el cual me pide que inserte una oracion, el problemas es que tengo que dar doble ENTER para que me muestre el siguiente cout, quisiera saber cual es mi error o como puedo solucionarlo.Para que con un solo enter pase al siguiente cout.

Código C++:
Ver original
  1. #include<iostream>
  2. #include<string>
  3. #include<conio.h>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.    string oracion;
  9.    cout<<"Escribe una oracion: ";
  10.    getline(cin,oracion);
  11.    cout<<"Has escrito: " <<oracion<<endl;
  12.    getch();
  13.    return 0;
  14. }

Se los ruego por favor ayudenme con este problema ya tengo bastante con esto y no se cual es el error, busco y busco informacion en internet y no encuentro mi error. se los agradecere mucho

Actualizacion:
Yo estoy programando en Visual studio 6.0 lo probe en Dev-c++ 4.9.9.2, y tambien trate con visual studio 2008 y si funciono bien. En Devc++ y en visual 2008 me funciono perfectamente con un solo clic pasa al siguiente cout,

Ahora mi pregunta es a que se debe esto?

Actualizacion:

Ya encontre el problema en si es que el getline lee un caracter adicional despues de encontrar el delimitador (en la version 6.0) por eso en el Dev o en el visual 2008 no pasa esto, la solucion es modificar la función de miembro getline si les interesa saber como al final de esta pagina esta el link donde se menciona el problema y una pequeña explicacion mia de como hacer esta modificaion.

Última edición por jose_desa; 06/04/2010 a las 00:28 Razón: actualizacion