您的位置:首页 > 其它

统计文件中的行数、单词数、字符数

2016-03-23 17:34 253 查看
用C语言写的代码:

#include<stdio.h>
#include<string.h>
int *getCharNum(char *filename,int *totalNum);
int main()
{
char filename[30];
int totalNum[3]={0,0,0};
printf("Input file name: ");
scanf("%s",filename);
if(getCharNum(filename,totalNum))
{
printf("Total: %d line,%d words,%d chars\n",totalNum[0],totalNum[2],totalNum[1]);
}
else
{
printf("Error!\n");
}
return 0;
}
int *getCharNum(char *filename,int *totalNum)
{
FILE *fp;
char buffer[1003];
int bufferLen;
int i;
char c;
int isLastBlank=0;
int charNum=0;
int wordNum=0;
if((fp=fopen(filename,"rb"))==NULL)
{
perror(filename);
return NULL;
}
printf("line words chars\n");
while(fgets(buffer,1003,fp)!=NULL)
{
bufferLen=strlen(buffer);
for(i=0;i<bufferLen;i++)
{
c=buffer[i];
if(c==' '||c=='\t')
{
!isLastBlank && wordNum++;
isLastBlank=1;
}
else if(c!='\n' && c!='\r')
{
charNum++;
isLastBlank=0;
}
}
!isLastBlank && wordNum++;
isLastBlank=1;
totalNum[0]++;
totalNum[1]+=charNum;
totalNum[2]+=wordNum;
printf("%-7d%-7d%d\n",totalNum[0],wordNum,charNum);
charNum=0;wordNum=0;
}
return totalNum;
}


在D盘保存的文件



输出结果为:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: