c++统计文件中字符个数代码汇总

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

#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++统计文件中字符个数代码汇总 的全部内容, 来源链接: utcz.com/z/357718.html

回到顶部