How do I find the size of a file?

How do I find the size of a file?


Use stat(), or fstat() if you have the file open.



These calls fill in a data structure containing all the information
about the file that the system keeps track of; that includes the owner,
group, permissions, size, last access time, last modification time, etc.



The following routine illustrates how to use stat() to get the
file size.




#include <stdlib.h>
#include <stdio.h>

#include <sys/types.h>
#include <sys/stat.h>

int get_file_size(char *path,off_t *size)
{
struct stat file_stats;

if(stat(path,&file_stats))
return -1;

*size = file_stats.st_size;
return 0;
}






Home FAQ