[C con Clase] fseek y los tamaños de archivo

bien1 castillo0267 en yahoo.es
Vie Oct 16 20:52:08 CEST 2009


hola de nuevo.

tengo el siguiente codigo:

        fseek(archivo, 0, SEEK_END);
        printf("\ntamaño del archivo %lu", (ftell(archivo)));

este codigo funciona bien en archivos pequeños, de hasta 1,5 GB.
pero lo interesante era ver su comportamiento en archivos de 6 y 7 gigas, en los cuales el final del archivo daba como resultado 0. ftell devuelve como valor de retorno un unsigned long, de 4 bytes, creo que es por eso que un valor superior a 2^32, no sera mostrado o dara error, solo trabaja con archivos menores de 4 gigas.

y por ultimo, lo he probado en un archivo de 3,9 gigas y el resultado ha sido inesperado, salia un valor distinto del que realmente tiene el archivo.

conoceis algun metodo igual de rapido y mas fiable para conocer el tamaño de archivo? que estoy haciendo mal?

saludos y gracias. 


Más información sobre la lista de distribución Cconclase