这里运用了fgetc:int fgetc(FILE *stream)
逐个读取文档中的字符,其中flag 表示前一个字符是否为空,仅前一个字符为空且当前字符不为空时单词个数加1。
代码
#include <stdio.h>
int main(int argc,char** argv){
FILE* fp1;
int c,chars=0,lines=0,words=0,flag=1;
fp1=fopen(argv[1],"r");
while((c=fgetc(fp1))!=EOF){
chars++;
if(c=='\n')
lines++;
if(c=='\n'||c=='\t'||c==' '){
flag=1;
}else if(flag==1){
words++;
flag=0;
}
}
printf("%s:\nlines:%d characters:%d words:%d\n",argv[1],lines,chars,words);
fclose(fp1);
return 0;
}