[C con Clase] Determinar tamaño de un archivo.

kendor lacorn xnfinite en gmail.com
Mar Abr 28 17:58:50 CEST 2009


Puedes usar la estructura fstat, que te permite acceder a informacion de un
fichero particular.

Su uso es el siguiente:

int fd = open("archivo", "O_RDONLY")

struct fstat datos;

fstat(fd, &datos);

printf("El archivo pesa %ld", datos.st_size);


El 28 de abril de 2009 15:24, Rubén Calabuig <racalabuig en gmail.com>escribió:

> Hola:
>
> Una forma que se me ocurre, es utilizar las funciones "fseek()" y "ftell()"
>
> ejemplo:
>
>
> //--------------------------------------------------------------------------------------------------------
> int tamanio; // declaro la variable que recibira el tamanio.
> FILE* arch; // declaro un puntero de tipo FILE.
>
> arch=fopen("miArchivo.dat", "rb"); // abro el archivo de solo lectura.
> fseek(arch, SEEK_END);            // me ubico en el final del archivo.
> tamanio=ftell(arch);                     // obtengo su tamanio en BYTES.
> fclose(arch);                               // cierro el archivo.
>
>
> //---------------------------------------------------------------------------------------------------------
>
> Espero que te sirva.
>
> El 27 de abril de 2009 14:45, Adolfo Cárdenas <adocardenas en gmail.com>escribió:
>
>> Para mi, lo más sencillo es usar: filelength
>> #include <io.h>
>> #include <fcntl.h>
>> #include <sys\stat.h>
>> #include <stdio.h>
>>
>> //ESTA FUNCION RETORNA EL TAMAÑO DE UN ARCHIVO
>> long SizeF(char* f)
>> {
>>  int h;
>>  long t;
>>
>>  if((h = open(f, O_BINARY)) == -1) return -1;
>>  else
>>  {
>>         t = filelength(h);
>>         close(h);
>>  }
>>  return t;
>> }
>>
>> _______________________________________________
>> Lista de correo Cconclase Cconclase en listas.conclase.net
>> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
>> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>>
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20090428/99fe4066/attachment.html>


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