c++统计文件中字符个数代码汇总_C语言教程-查字典教程网
c++统计文件中字符个数代码汇总
c++统计文件中字符个数代码汇总
发布时间:2016-12-28 来源:查字典编辑
摘要:我们先来看看下面的代码:#include#include#includeusingnamespacestd;classCntCharacte...

我们先来看看下面的代码:

#include<iostream> #include<fstream> #include<cstdlib> using namespace std; class CntCharacters { private: int cnt; public: CntCharacters():cnt(0){} ~CntCharacters(){} void opentxt(char* p) { ifstream fin; fin.open(p,ios_base::in); if(!fin.is_open()) { cout<<"cannot open the file,Please make sure the file is exist!n"; exit(-1); } char temp; while(!fin.eof()) { fin>>temp; if((temp>='a'&&temp<='z')||(temp>='A'&&temp<='Z'))cnt++; } } void countthecharacter() { int count=0; char nameoffile[80]; cout<<"Please enter the name of file:"; cin>>nameoffile; // scanf("%s",nameoffile); opentxt(nameoffile); } void dis() { cout<<cnt<<endl; } }; int main() { CntCharacters* c=new CntCharacters; c->countthecharacter(); c->dis(); delete c; return 0; }

网上大神的简单代码

#include<iostream> #include<fstream> using namespace std; int main() { fstream f("test.txt",ios::in); char c; int n=0; while(f.get(c))n++; cout<<n<<endl; f.close(); return 0; }

上面那方法会计算空格和换行,如果不想要换行和空格,可以这样:

#include<iostream> #include<fstream> using namespace std; int main() { fstream f("test.txt",ios::in); char c; int n=0; while(f>>c)n++; cout<<n<<endl; f.close(); return 0; }

好了,最后来看一下项目中使用到的代码

//countch.cpp #include <iostream> #include <fstream> #include <string> using namespace std; int main(int argc, char* argv[]) { ifstream fin(argv[1]); if (!fin) { cout << "Can't open file - " << argv[1] << "nUseage : countch filename" << endl; return 1; } string d; int count = 0; while ( getline(fin, d) ) //以行为单位读入文件 count += d.size(); //累计字符数 cout << "n Number of characters : "<< count << endl; }

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新C语言学习
    热门C语言学习
    编程开发子分类