统计文件的字符数和行数
#include<stdio.h>
#define ERR_MSG(msg) do{\
printf("line:%d\n",__LINE__);\
perror(msg);\
}while(0)
int count(const char *s)
{
int counter;
FILE*fp=fopen(s,"r");
if(NULL==fp){
ERR_MSG("fopen");
return-1;
}
while(fgetc(fp)!=EOF){
counter++;
}
if(fclose(fp)<0){
ERR_MSG("fclose");
return-1;
}
returncounter;
}
int main(int argc, const char *argv[])
{
intnum=0;
if(argc!=2){
printf("命令不正确,需要传参");
return-1;
}
num=count(argv[1]);
printf("文件大小为%d个字节",num);
return0;
}
#include<stdio.h>
#define ERR_MSG(msg) do{\
printf("line:%d\n",__LINE__);\
perror(msg);\
}while(0)
int count(const char *s)
{
intc=0;
int counter=0;
FILE*fp=fopen(s,"r");
if(NULL==fp){
ERR_MSG("fopen");
return-1;
}
while((c=fgetc(fp))!=EOF){
if(c=='\n'){
counter++;
}
}
if(fclose(fp)<0){
ERR_MSG("fclose");
return-1;
}
returncounter;
}
int main(int argc, const char *argv[])
{
intnum=0;
if(argc!=2){
printf("命令不正确,需要传参");
return-1;
}
num=count(argv[1]);
printf("文件有%d行",num);
return0;
}
统计文件大小与行数
本文介绍了一个使用C语言编写的简单程序,该程序能够统计指定文件的字符数和行数。通过命令行参数传递文件路径,程序打开文件并逐字符读取,统计总字符数及换行符数量,从而得出文件的大小和行数。
837

被折叠的 条评论
为什么被折叠?



