获取一个文件的大小
-
使用fopen打开文件,使用fseek和ftell来获取文件的大小
FILE *file = fopen(char *filename,"w+"); if(file == NULL) { printf("打开文件失败"); return -1; } fseek(file,0,SEEK_END);//定位到文件的最后面 long length = ftell(file);//ftell获得该文件指示符此时的偏移量,此时已经是在文件末尾,故能获得文件的大小 printf("%ld",length);
2.如果使用open打开文件,使用lseek来获取文件的大小
int fd = open(char *filename,int falgs);//这里的参数自行设置
if(fd == -1)
{
printf("文件打开失败\n");
return -1;
}
//lseek函数成功的话,返回的是从文件开始到文件此时的偏移量之间的大小
long length = lseek(fd,0,SEEK_END);//回到文件的末尾,故返回的是文件的大小
printf("%ld\n",length);//输出这个文件的大小
return 0;