Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/01/2011, 17:50
Avatar de Munire
Munire
 
Fecha de Ingreso: julio-2010
Ubicación: en el ciberdespacio (España)
Mensajes: 150
Antigüedad: 14 años, 4 meses
Puntos: 4
Respuesta: Problema con cin.getline (variable, xxx)

el problema que da es que no deja meter el nombre del archivo y te da error.

esto se debe a que al meter el valor de "e", el 1 se guarda en "e" pero el \n del intro se queda guardado en el buffer. entonces al hacer cin.get para pedirte el nombre del archivo, coge automaticamente el \n y por eso no te deja meter el nombre y te da error.

la solucion es liberar el buffer antes del cin.get


Código C++:
Ver original
  1. cout << "Nombre del archivo: " << flush;
  2. cin.ignore();
  3. cin.get (nombreArchivo, 250);

en este caso estoy ignorando lo que hay en el buffer de cin. he utilizado esta funcion por que no me se la de liberar el buffer en C++ (en C seria fflush(stdin); ).