C/Visual C - Leer fichero del final al principio en C

 
Vista:

Leer fichero del final al principio en C

Publicado por Ayuda (2 intervenciones) el 19/02/2007 18:20:39
¿Cómo se puede leer un fichero desde el final a principio? Es decir empezando por la última línea e ir subiendo.

Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Leer fichero del final al principio en C

Publicado por Nelek (816 intervenciones) el 20/02/2007 08:03:37
No se hasta que punto seran compatibles estos comandos en C, pero en VC++ hay una orden (SeekToEnd) que te lleva el puntero al final.

De todas maneras seria, lo abres para lectura.

Te llevas el cursor al final.

Te haces una funcion que coja un puntero de referencia a la posicion al fichero, igualas el puntero creado al puntero del fichero, decrementas una posicion del tamanyo de tu unidad de datos (supongo que sera BYTE) y lees.

Devuelves el puntero que te has creado (que esta vez apunta a una posicion menos que el del fichero), igualas el del fichero al que has devuelto y repites.

Asi hasta que estes en el principio del fichero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Leer fichero del final al principio en C

Publicado por laura (2 intervenciones) el 21/02/2007 21:26:52
En c la orden es con la llamada al sistema L_SEEK con esta llamada te puedes posicionar al principio, medio o al final de un archivo, para el final es poniendo como tercer argumento SEEK_END y decrementas la posicion es decir; el segundo argumento toma valor -1, todo esto en un bucle hasta que llegue al principio de tu fichero, el primer argumento es el descriptor de fichero, seria algo asi:
lseek(descriptor,-1,SEEK_END);
el descriptor es un entero al que le has asignado la apertura del fichero:
descriptor=open(fichero)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar