Discussion:
como obtener el numero de registro de un archivo
(demasiado antiguo para responder)
HADES
2004-05-11 08:49:44 UTC
Permalink
hola estoy intentando averiguar como obtener el numero de registro de
un archivo a través de su tamaño, es decir, deseo dividir el tamaño
del archivo entre el tamaño de un registro.

como puedo hacerlo?
Antoine Leca
2004-05-11 11:37:22 UTC
Permalink
Post by HADES
como puedo hacerlo?
Mirando fseek(,SEEK_END,), ftell y sizeof
HADES
2004-05-11 20:02:22 UTC
Permalink
Post by Antoine Leca
Mirando fseek(,SEEK_END,), ftell y sizeof
me gustaria hacerlo sin tener que abrir el archivo y sin tener que
recorrerlo, supuestamente dividiendo el tamaño de un archivo entre el
tamaño de un registro me tiene que dar el numero de registros de un
archivo.


VARIABLE= ((SIZEOF(*ARCHIVO)/(SIZEOF(STRUCT REGISTRO)))); //NO
FUNCIONA ME DA 0
VARIABLE= ((SIZEOF(ARCHIVO)/(SIZEOF(STRUCT REGISTRO)))); //NO FUNCIONA
ME DA 0

etc...
Antoine Leca
2004-05-12 08:48:58 UTC
Permalink
Post by HADES
me gustaria hacerlo sin tener que abrir el archivo
Gracias por indicarlo...

Con la norma sola, eso es imposible.
Mira por stat() si lo tienes. #include <sys/stat.h>
Post by HADES
y sin tener que recorrerlo,
¿?
En casí todos los sistemas, fseek() no recorre todo el fichero, simplemente
posiciona un campo en sus variables internas para decir donde va a hacerse
la proxima lectura. No cuesta casí nada (es decir, menos que stat()).

Ahora bién, si es un archivo que solo se puede leer sequencialamente (un
archive en cinta, o dentro de un archivo comprimido), eso te va obligar a
leer toda la cinta. Pero no hay realmente otra solución, menos hacerlo con
extensiones muy propria de tu caso particular.


Antoine

Loading...