统计文件的字符数和行数
#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;
}