【题目描述】编写一个C程序,用来计算指定文件的大小。
【题目分析】计算指定文件大小的方法很多。最直观的方法是通过扫描整个文件计算出文件的字节数。但是这种方法对系统的开销很大,比较浪费时间。可以巧妙地利用I/O库中提供的函数来进行文件大小的判定。
【代码实现】
// 计算文件的大小
# include <stdio.h>
# include <stdlib.h>
int main()
{FILE * fp = fopen("C:/Users/dream/Downloads/20231202dream_aleaf.txt", "r");if (fp == NULL) {printf("Error\n");exit(0); // 提示出错,退出程序 }int len = 0;
// while (fgetc(fp) != EOF) {
// ++len;
// }// fseek(FILE * fp, long offset, int base):重定位流上的文件指针,即将fp指向的位置指针移向以base为基准,以offset为偏移量的位置。 fseek(fp, 0, SEEK_END);// ftell(FILE * fp):返回当前文件指针的位置。这个位置是指当前文件指针相对于文件开头的移量。 len = ftell(fp);fclose(fp); // 关闭文件 printf("the length is %d\n", len);return 0;
}