Linux系统编程之查看文件大小的方法:1、使用lseek函数,2、使用stat函数。直接上代码
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main(void)
{
int fd, ret;
long result;
struct stat st;
/* No.1: LSEEK */
if((fd = open(__FILE__, O_RDONLY)) < 0)
{
perror("Open Error");
exit(1);
}
if((result = (long)lseek(fd, 0, SEEK_END)) < 0)
{
perror("Lseek Error");
exit(1);
}
printf("File size\tLSEEK:\t%ld\n", result);
/* No.2: STAT */
if((ret = stat(__FILE__, &st)) < 0)
{
perror("Stat Error");
exit(1);
}
result = (long)st.st_size;
printf("File size\tSTAT:\t%ld\n", result);
return 0;
}