sacar tamaño de un fichero en C

sh31k

bueno haciendo un ejercicio de clase se me plantea la siguiente duda, tengo un programa desarrollado que trata de sacar varias altas de clientes y libros en una biblioteca, generando 3 archivos de texto, libros, clientes, y libros prestados, pues bien en el 4º punto del ejercicio me pide que haga una funcion para sacar el tamaño del fichero, estaba pensando algo asi, pero no lo puedo probar porque el programa lo toy haciendo a mano, me podeis decir si estaria bien¿?

spoiler

un saludo(:

edit: pongo la funcion completa de como me ha quedado.

spoiler
Fyn4r

Si, eso debería funcionar

mohon_drive

Si utilizas Servicios POSIX en C, hay una forma mas sencilla y rapida de sacar el tamaño de un fichero mediante stat.

#include <stdio.h>
#include <sys/stat.h> /* Para la estructura stat */
#include <unistd.h>

main(int argc, char **argv)
{
struct stat buf;

printf("%s\n",argv[0]);

if ( stat(argv[0], &buf) == -1 )
{
	perror(argv[0]);
	exit(-1);
}
else
{
	printf("Tamaño del archivo %s %d bytes.\n",argv[0],buf.st_size);
}

}

Usuarios habituales

  • mohon_drive
  • Fyn4r
  • sh31k