计算文件的字节需要使用两个函数fseek和ftell
fseek函数
函数原型:int fseek(FILE *stream, long offset, int fromwhere);
第一个参数:文件指针
第二个参数:文件指针的偏移量(以字节的形式)
第三个参数:文件指针偏移的起始位置
函数功能:使用文件指针遍历文件
ftell函数
函数原型:: long ftell(FILE *stream);
参数:文件指针
函数功能:使用fseek函数后再调用函数ftell()就能非常容易地确定文件的当前位置
计算文件的字节数算法:
以读取的形式打开D:\\1.txt——使用fseek函数将文件指针从文件尾偏移到文件头——使用ftell函数计算文件指针的偏移量(文件指针的偏移量就是文件的大小)
程序代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
int t;
fp = fopen("D:\\1.txt","r");
if(NULL == fp)
{
printf("文件打开失败!\n");
}
else
{
printf("文件打开成功!\n");
fseek(fp,0L,SEEK_END);//文件指针偏移
t = ftell(fp);//得到文件指针的偏移量
printf("D:\\1.txt的大小是%d字节\n",t);
fclose(fp);
}
system("pause");
return 0;
}
执行结果:
D:\\1,txt的大小