参考文章:通过文件指针来获取文件的大小(fseek与ftell函数 )
#include <stdio.h>
int main() {
FILE *in;
//打开文件
in=fopen("article2.txt","r");
//把文件的位置移到文件尾
fseek(in,0,SEEK_END);
//获取文件长度
long length=ftell(in);
rewind(in);
printf("%ld\n",length);
fclose(in);
}
运行结果:
说明我这个文件的大小是625119个字节
1.顺便说一下fseek函数的第3个参数及其各自的意义:
SEEK_SET | 文件开头 |
---|---|
SEEK_CUR | 当前位置 |
SEEK_END | 文件结尾 |
2.ftell函数可以获得当前位置指针距文件头的字节数,而rewind函数可以将文件指针重新指向文件开头。十分推荐fseek+ftell+rewind,这样可以让文件指针重新回到文件头部,避免往后的其它麻烦,比如想读取文件,但是发现读取到的数据为空