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. ",filename);
return;
}
c=fgetc(fp);
while(c!=EOF)
{
charnum++;
if(c==' '||c==' '||c==' ')
{
/*如果第一个字符是空格则不计字数*/
if(charnum!=1)
wordnum++;
}
if(c==' ')
{
/*如果第一个字符是空格则不计行数*/
if(charnum!=1)
linenum++;
}
c=fgetc(fp);
}
charcount+=charnum;
wordcount+=wordnum;
linecount+=linenum;
printf("******The file %s***** ",filename);
printf(">>Lines = %d ",linenum);
printf(">>Words = %d ",wordnum);
printf(">>Chars = %d ",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(" The information in all files is: ");
printf(">>Lines = %d ",linecount);
printf(">>Words = %d ",wordcount);
printf(">>Chars = %d ",charcount);
}
getch();
}

原文地址:https://www.cnblogs.com/qq707807688/p/7608958.html