用C++编写检查一个文件中有多少个单词,并且有多少个不同的单词

来源:百度知道 编辑:UC知道 时间:2024/06/04 04:17:12
RT,怎么样做啊

用标准库的map
#include<iostream>
#include<fstream>
#include<map>
#include<string>
using namespace std;

void ReadFile(ifstream &fin, map<string, int> &intmap)
{
intmap.clear();
if(!fin.is_open()) return;
while(!fin.eof())
{
string str;
fin>>str;
++intmap[str];
}
}

long getTotal(map<string, int> intmap)
{
long res = 0;
map<string, int>::iterator it= intmap.begin();
for(;it != intmap.end(); ++it)
{
res += it->second;
}

return res;
}

int main(int argc, char* argv[])
{
char filename[1024];
cout<<"输入文件名:";
cin>>filename;

ifstream fin(filename);
map<string, int> intmap;
ReadFile(fin, intmap);

cout<<"Total words are "<<getTotal(intmap)<<endl;
cout&