利用标准IO函数接口实现计算一个本地磁盘某个文件的大小.
/********************************************************************************************************
*
*
* 利用标准IO函数接口实现计算一个本地磁盘某个文件的大小.
*
*
*
* Copyright (c) 2023-2024 18975491291@163.com All right Reserved
* ******************************************************************************************************/
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char const *argv[])
{
//1.要求要计算大小的文件的路径需要通过命令行传递给main(),需要判断用户传递的参数是否有效
if (2 != argc)
{
printf("argument is invaild!\n");
exit(1);
}
//2.利用fopen()以只读方式打开需要计算大小的文件 "rb" 以二进制方式打开文件
FILE *fp = fopen(argv[1],"rb");
if (NULL == fp)
{
perror("fopen file error");
exit(1);
}
//3.计算文本数据大小,可以采用循环计数的方式,每次从文本中读取一个字符,直到文本到达末尾
int cnt = 0;
while(1)
{
if( fgetc(fp) == EOF )
{
printf("end of file\n");
break;
}
cnt++;
}
//4.循环终止,则说明计算完成,此时输出文本大小即可
printf("file [%s]: size = %d \n",argv[1],cnt);
//调用系统函数实现
//printf("file [%s]: size = %ld \n",argv[1],ftell(fp));
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了