filelength()

filelength(<handle>)

Retorna:

La longitud del archivo.

Descripción:

Esta función permite obtener la longitud de un archivo previamente abierto con fopen(), para ello requiere como parámetro el <handle> o identificador de archivo devuelto por dicha función.

Esta función no modifica la posición actual del puntero de lectura/escritura del archivo, simplemente devuelve el número de datos contenidos actualmente en el mismo.

Programa ejemplo:
PROGRAM ejemplo_filelength;

GLOBAL
    mitabla[3]=11,22,33,44;
    longitud;
    mihandle;

BEGIN
    mihandle=fopen("help\help.dat","w");
    fwrite(OFFSET mitabla,4,mihandle);
    fclose(mihandle);
    mihandle=fopen("help\help.dat","r");

    longitud=filelength(mihandle); // Obtiene la longitud del archivo (4)

    fclose(mihandle);
END


Este programa ejemplo crea primeramente un archivo denominado help.dat, escribiendo en el los cuatro valores contenidos en mitabla.

Una vez creado el archivo en disco, se abrirá para obtener su longitud.


Nota: Por defecto, la longitud del archivo se obtiene como el número de datos simples que contiene, teniendo en cuenta que un dato simple (una variable) ocupa 4 bytes. Es decir, que si por ejemplo, la longitud de un archivo es diez, ocupará cuarenta bytes en el disco.

Se puede cambiar esta relación modificando la variable global unit_size, que por defecto vale 4 en todos los programas.


Nota: Las funciones get_dirinfo() y get_fileinfo() permiten obtener mucha más información sobre la estructura de directorios (carpetas) del disco y sobre los archivos contenidos en ella.


Ver: fopen() - get_dirinfo() - unit_size