利用标准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 @ 2024-05-09 15:19  小懿同学  阅读(26)  评论(0)    收藏  举报