用C++写的文件字符数、单词数以及总行数的统计(源码)


#include <stdio.h> #include <fstream> #include <string> using namespace std; //计算单词数 int Word(char c,int &w) { if((c>='a'&&c<='z')||(c>='A'&&c<='Z')) { w++; if(w==1) return 1; else return 0; } else { if(w>0) w=0; return 0; } } //计算字符数 int Letter(char c) { if((c<'0'||c>'9')&&c!='\n') return 1; else return 0; } //计算行数 int Row(char c,int &r) { if(c=='\n') { r++; if(r==1) return 1; else return 0; } else { if(r>0) r=0; return 0; } } int main () { ifsteam in;//读文件 string filename; gteline(cin,filename,'\n');//获取文件名 cin>>filename; in.open(filename,'\n'); if(!in)//判断是否打开成功 { cerr<<"打开文件出错!"<<endl; return 1; } int totalrow=0,totalword=0,totalletter=0;//初始化总行数 ,单词数 ,字符数 int r=0,w=0;//行连续出现次数 ,英文字符连续出现次数 char c; while(r<2)//如果不是空行则循环 { c=getchar(); totalrow+=Row(c,r); totalword+=Word(c,w); totalletter+=Letter(c); } printf("单词数:%d\n",totalword); printf("字符数:%d\n",totalletter); printf("总行数:%d\n",totalrow); return 0; }

 

posted @ 2018-10-21 19:10  CZDX  阅读(344)  评论(0编辑  收藏  举报