Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Como leer file txt con ifstream c++

Estas en el tema de Como leer file txt con ifstream c++ en el foro de C/C++ en Foros del Web. Hola a todos, tengo un problema, tengo que leer un archivo txt usando ifstream pero no se como se hace, por ahora logro leer una ...
  #1 (permalink)  
Antiguo 11/02/2015, 13:08
 
Fecha de Ingreso: enero-2015
Mensajes: 14
Antigüedad: 9 años, 3 meses
Puntos: 0
Pregunta Como leer file txt con ifstream c++

Hola a todos, tengo un problema, tengo que leer un archivo txt usando ifstream pero no se como se hace, por ahora logro leer una linea del documento, como se hace para leer el documento desde principio a fin?

este es mi código:
Código C++:
Ver original
  1. ifstream fin;
  2.    
  3.     fin.open("file.txt");
  4.    
  5.     if(fin.fail()){
  6.         cout << "ERROR!! - archivo no encontrado";
  7.         exit(1);
  8.     }
  9.    
  10.     //leer linea
  11.     char buffer[1000];
  12.        
  13.     fin.getline(buffer, 999);
  14.    
  15.    
  16.     fin.close();

Alguien me puede ayudar?

Gracias de antemano.

Saludos
  #2 (permalink)  
Antiguo 11/02/2015, 13:13
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 11 años, 9 meses
Puntos: 28
Respuesta: Como leer file txt con ifstream c++

Un bucle hasta que fin.good() sea false.

Código C++:
Ver original
  1. while (fin.good())
  2. {
  3.     fin.getline(buffer,999);
  4.  
  5.     // hacer algo con la linea, como mostrarla por pantalla
  6.     cout<<buffer<<endl;
  7. }
  #3 (permalink)  
Antiguo 11/02/2015, 14:13
 
Fecha de Ingreso: enero-2015
Mensajes: 14
Antigüedad: 9 años, 3 meses
Puntos: 0
Respuesta: Como leer file txt con ifstream c++

Muchas gracias amchacon!! funciona de maravilla!!
  #4 (permalink)  
Antiguo 13/02/2015, 10:38
 
Fecha de Ingreso: febrero-2015
Ubicación: France
Mensajes: 12
Antigüedad: 9 años, 2 meses
Puntos: 1
Respuesta: Como leer file txt con ifstream c++

Hola, puedes también utilizar
Cita:
istream& getline (istream& is, string& str);
con un buffer de tipo std::string para no lo limitar ;)

Por ejemplo :


Código C++:
Ver original
  1. string line;
  2.     while (getline(fin, line))
  3.     {
  4.      
  5.           cout<<line<<endl;
  6.  
  7.     }

y utilizar buffer.c_str() para devolver en char const * si es necesario

Saludos.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:48.