通过命令行传参的方式,传入文件名;计算一个文件的大小. 封装成函数
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<errno.h>
int fgets_lenth(const char *argv)
{
//打开
FILE *fp = fopen(argv,"a+");
if(NULL==fp){
printf("fopen函数运行失败\n");
return -1;
}
printf("函数运行成功\n");
int temp=0;
char c;
while(1)
{
//读取一个字符
c = fgetc(fp);
if(EOF == c)
{
break;
}
temp++;
}
//关闭
if(fclose(fp)==EOF){
perror("fclose");
return -1;
}
printf("fclose函数运行成功\n");
return temp;
}
int main(int argc, const char *argv[])
{
int flag=fgets_lenth(argv[1]);
printf("文件的大小为%d\n",flag);
return 0;
}
运行效果
通过命令行传参的方式,传入文件名; 统计一个文件有几行。封装成函数
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<errno.h>
int fgets_line(const char *argv)
{
//打开
FILE *fp = fopen(argv,"a+");
if(NULL==fp){
printf("fopen函数运行失败\n");
return -1;
}
printf("函数运行成功\n");
int temp=0;
char c;
while(1)
{
//读取一个字符
while((c=fgetc(fp))=='\n')
{
temp++;
}
if(EOF == c)
{
break;
}
}
//关闭
if(fclose(fp)==EOF){
perror("fclose");
return -1;
}
printf("fclose函数运行成功\n");
}
int main(int argc, const char *argv[])
{
int flag=fgets_line(argv[1]);
printf("文件的行数%d\n",flag);
return 0;
}