Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Joaqqinn en 17 Diciembre 2015, 20:52 pm



Título: Leer fichero y guardar en variables
Publicado por: Joaqqinn en 17 Diciembre 2015, 20:52 pm
Buenas necesito si me pueden ayudar ya que estoy trabado con un codigo. Se como leer un archivo pero la complicacion seria que necesito leerlo y con lo que dice en cada linea guardarlo en una variable para poder utilizarlo luego en otra funcion. El fichero consta de nombres por cada renglon y necesito leerlo y guardarlo para luego poder utilizarlo. Tal vez me estoy delatando y es muy facil y yo todavia estoy muy verde en c++ jaja , espero me puedan ayudar saludos


Título: Re: Leer fichero y guardar en variables
Publicado por: 0xFer en 17 Diciembre 2015, 21:10 pm
Código
  1. #include <fstream>
  2. #include <string>
  3.  
  4. int main()
  5. {
  6.    std::ifstream file("NomFichero.txt");
  7.    std::string linea;
  8.    while (std::getline(file, linea))
  9.    {
  10.        // Ahora puedes hacer lo que sea con "linea".
  11.    }
  12. }

en la variable "linea" se va guardando ese dato que necesitas, el nombre.


Título: Re: Leer fichero y guardar en variables
Publicado por: Joaqqinn en 17 Diciembre 2015, 22:10 pm
Primero que nada gracias. El problema no seria que linea siempre va a guardar una sola variable? la ultiam digamos .. Porque yo necesito que por ejemplo lea la primer linea  y se guarde , lea la segunda y se guarde por ejemplo en linea2 y asi sucesivamente.


Título: Re: Leer fichero y guardar en variables
Publicado por: 0xFer en 17 Diciembre 2015, 23:08 pm
En C++ puedes usar tranquilamente un vector de string donde irás guardando todas las lineas.


Título: Re: Leer fichero y guardar en variables
Publicado por: Joaqqinn en 17 Diciembre 2015, 23:54 pm
Disculpa que te moleste, pero me podrias decir como quedaria el codigo con el vector?


Título: Re: Leer fichero y guardar en variables
Publicado por: furciorifa en 13 Enero 2016, 19:00 pm
Amigo se resuelven dudas puntuales no se hacen tareas, pero en fin lo más fácil es que uses un vector, como dice el compañero vas almacenando secuencialmente el archivo y despues ese vector lo mandas a una función y listo.


Título: Re: Leer fichero y guardar en variables
Publicado por: Orubatosu en 13 Enero 2016, 23:43 pm
Un inciso al respecto, porque aquí a veces se "lia" la cosa.

Una opción que tienes, es que asumes una longitud límite de líneas, y creas una table de "string" con ese número.

El "problema" es que debes de poner algún tipo de marca al final de la lectura del fichero, ya que ese fichero podría contener líneas en blanco.

El otro es usar lo que es realmente un vector, que es un contenedor de la STL (Standar Template Library) y el uso de esos contenedores es realmente útil, pero asume que tienes un conocimiento algo mas avanzado de C++ (un poquito mas, nada del otro barrio)

Lo digo porque a menudo se llama "vector" a una tabla, pero en C++ "Vector" es una contenedor que usamos invocando a la librería del mismo nombre.

Para usar una table de cadenas de caracteres (de string para entendernos) la defines primero, creas un contador que se inicie en 0 y luego vas leyendo e incrementando ese contador, comprobando que no te excedes del tamaño máximo de esa tabla (o el programa puede cascar) y colocando al final en una fina una marca que indique que se ha terminado la lectura, para al usarlo posteriormente saber donde termina.