SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: martha1982js en Jueves 9 de Noviembre de 2006, 08:55

Título: Leer Un Fichero Al Revés
Publicado por: martha1982js en Jueves 9 de Noviembre de 2006, 08:55
Hola!!

Por favor, alguien me puede decir cómo leer un fichero al revés, es decir de abajo a arriba?

Estoy trabajando con un fichero muy grande y el dato que quiero está hacia el final de dicho fichero.

Muxas gracias, foreros!!

 :devil:  Marta
Título: Re: Leer Un Fichero Al Revés
Publicado por: Eternal Idol en Jueves 9 de Noviembre de 2006, 09:25
seek/SetFilePointer o lo que sea.
Título: Re: Leer Un Fichero Al Revés
Publicado por: JuanK en Jueves 9 de Noviembre de 2006, 13:37
Depende a lo que te refieras con leerlo al reves.

Como dice eternal idol inicialmente hay que irse al final del archivo pero de que manera vas a leer los datos? que esperas iniciar a leerlo desde el final o leer los bytes desde el final o leer de a enteros desde el final?...
Título: Re: Leer Un Fichero Al Revés
Publicado por: martha1982js en Lunes 13 de Noviembre de 2006, 08:41
Tengo un fichero de texto y lo que yo quiero es recuperar dicho fichero línea a línea desde el final, primero la última línea, luego la penúltima, y así...


Muxas gracias!!

 :devil:  Marta
Título: Re: Leer Un Fichero Al Revés
Publicado por: Eternal Idol en Lunes 13 de Noviembre de 2006, 09:39
Una forma es, siendo un archivo de texto que seguramente no tiene gran tamaño, leer el archivo completo de una vez en un buffer, moverse al final del mismo y ir decrementando el puntero mientras no nos encontremos con un \n.
Título: Re: Leer Un Fichero Al Revés
Publicado por: martha1982js en Lunes 13 de Noviembre de 2006, 10:34
El fichero ocupa 38MB  :blink:  por eso quiero leerlo al revés, xk el dato que quiero está al final, y si no, me eternizo...
Título: Re: Leer Un Fichero Al Revés
Publicado por: Eternal Idol en Lunes 13 de Noviembre de 2006, 10:38
Cita de: "martha1982js"
El fichero ocupa 38MB  :blink:  por eso quiero leerlo al revés, xk el dato que quiero está al final, y si no, me eternizo...
38 mb no es mucho pero si queres ir al final del archivo ya te dije como hacerlo en mi primer respuesta.