wordcount

出处;百度  平台:vs2016  

#include <stdio.h>
int charcount,wordcount,linecount;
void CountLWC(char *filename)
{
FILE *fp;
char c;
/*定义三个计数器,分别统计字符数、字数和行数*/
int charnum,wordnum,linenum;
/*初始化计数器*/
charnum=0;
wordnum=0;
linenum=0;
/* 以只读方式打开文件 */
if((fp=fopen(filename,"r"))==NULL)
{
printf("Can't open the file %s.\n",filename);
return;
}
c=fgetc(fp);
while(c!=EOF)
{
charnum++;
if(c=='\n'||c==' '||c=='\t')
{
/*如果第一个字符是空格则不计字数*/
if(charnum!=1)
wordnum++;
}
if(c=='\n')
{
/*如果第一个字符是空格则不计行数*/
if(charnum!=1)
linenum++;
}
c=fgetc(fp);
}
charcount+=charnum;
wordcount+=wordnum;
linecount+=linenum;
printf("******The file %s*****\n",filename);
printf(">>Lines = %d\n",linenum);
printf(">>Words = %d\n",wordnum);
printf(">>Chars = %d\n",charnum);
fclose(fp);
}
void main(int argc, char **argv )
{
int n=argc;
if(argc<2)
printf("Please input the command: 43 file1 file2 ... filen");
/*初始化全局变量*/
charcount=0;
wordcount=0;
linecount=0;
/*依次统计每个文件的信息*/
while(--n>0)
CountLWC(*(++argv));
/*输出所有文件的统计信息*/
if(argc>2)
{
printf("\nThe information in all files is:\n");
printf(">>Lines = %d\n",linecount);
printf(">>Words = %d\n",wordcount);
printf(">>Chars = %d\n",charcount);
}
getch();
}

posted on 2017-09-28 22:24  沈沈沈  阅读(98)  评论(0编辑  收藏  举报