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

Cargar texto de un archivo y guardar en una lista de STL

Estas en el tema de Cargar texto de un archivo y guardar en una lista de STL en el foro de C/C++ en Foros del Web. Hola, buenas tardes, estoy empezando con la programación y necesito ayuda por parte vuestra. Estoy usando Dev-C++ y programando en C++. Estoy intentando abrirun archivo ...
  #1 (permalink)  
Antiguo 01/01/2013, 13:35
 
Fecha de Ingreso: enero-2013
Mensajes: 2
Antigüedad: 11 años, 3 meses
Puntos: 0
Cargar texto de un archivo y guardar en una lista de STL

Hola, buenas tardes, estoy empezando con la programación y necesito ayuda por parte vuestra.

Estoy usando Dev-C++ y programando en C++.

Estoy intentando abrirun archivo txt y guardar su contenido en una lista de la STL, y luego intentar mostrarla para comprobar que funciona.

En contenido del txt son palabras, cada palabra esta en una linea distinta.

El codigo es este.

Código C++:
Ver original
  1. #include <list>
  2. #include <iterator>
  3. #include <iostream>
  4. #include <fstream>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.      list<string> lista;
  11.      list<string>::iterator it;
  12.      
  13.      it = lista.begin();
  14.      
  15.      ifstream archivo ("texto.txt");
  16.      if (!archivo)
  17.      {
  18.            cout << "error al abrir el fichero" << endl;
  19.      }
  20.      else
  21.      {
  22.            while ( it != lista.end() )
  23.            {
  24.                  lista.push_back( *it );
  25.                  it++;
  26.            }
  27.      }
  28.      archivo.close();
  29.      
  30.      it = lista.begin();
  31.    
  32.      while(it != lista.end())
  33.      {
  34.                cout << *it << " || ";          
  35.                it++;
  36.      }    
  37.    
  38.      cout << endl;
  39.        
  40.  
  41.      system("PAUSE");
  42.      return 0;
  43. }

Estoy un poco liado y ya no se por donde salir.

Si me hecharan una mano os lo agradeceria.

Saludos,
Muchas gracias.
  #2 (permalink)  
Antiguo 01/01/2013, 19:54
Avatar de iblancasa  
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 143
Antigüedad: 11 años, 4 meses
Puntos: 16
Respuesta: Cargar texto de un archivo y guardar en una lista de STL

Abres el fichero y después lo cierras. En ningún momento haces nada más.
Busca en Google sobre la lectura de ficheros con fstream. Verás que necesitas usar el operador >>, getline o similares.
Un saludo.
  #3 (permalink)  
Antiguo 02/01/2013, 06:10
 
Fecha de Ingreso: enero-2013
Mensajes: 2
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Cargar texto de un archivo y guardar en una lista de STL

Gracias por responder.

El tema de abrir y cerrar ficheros con fstream de momento no tengo problema.

El problema es cuando quiero guardar el contenido del txt, que son palabras (una en cada linea) en una lista de la STL. Ya que el Dev-C++ no me devuelve ningun error.

Que es donde esta el error, no se como modificar el codigo para que guarde el contenido en una lista, y que cuando termine de poner en lista las palabras se cierre.

No se si me explico bien.

Saludos,
Muchas gracias.
  #4 (permalink)  
Antiguo 02/01/2013, 19:19
Avatar de iblancasa  
Fecha de Ingreso: diciembre-2012
Ubicación: España
Mensajes: 143
Antigüedad: 11 años, 4 meses
Puntos: 16
Respuesta: Cargar texto de un archivo y guardar en una lista de STL

Te decía que tu problema es que abres y cierras el fichero, pero en ningún momento extraes datos de él. Busca cómo extraer datos. Eso lo encontrarás buscando en Google "lectura de ficheros con fstream".
Mira algún código de ejemplo que encuentres, lee qué tienes que hacer una vez que hayas abierto el fichero (como ya has hecho)... Verás que para hacer algo hasta que llegue el final del fichero hay una forma (usando EOF).

Entonces vas sacando línea a línea y la vas guardando como un string de la biblioteca string de la STL (que veo que ya has incluido). Si no sabes cómo añadir cada una de esos strings a una celda de la lista, busca en Google sobre el uso de list de la STL.

Un saludo.

Etiquetas: fichero, funcion, int, lista, programa, stl, string
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

SíEste tema le ha gustado a 1 personas




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