利用标准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;
}
posted @   小懿同学  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
点击右上角即可分享
微信分享提示