计算文本文件中单词的出现次数

时间:2015-12-04 23:30:35

标签: c++

我有一个文本文件,我应该打开,扫描并计算文本文件中特定单词或字符串出现的次数(" #email"确切地说)。我已经能够计算整个文本文件中出现的单词数,但不计算特定单词或字符串出现的次数。任何人都可以给我任何建议吗?

int count = 0;
std::string word;
std::string strg1("#email");
std::ifstream fin;

fin.open(filename + "-inbox.txt", std::ios::in);

while (fin >> word)
{

    if (word == strg1)
    {
        count++;
    }
}

fin.close();
return count;

1 个答案:

答案 0 :(得分:5)

你的代码对我来说似乎很好(也比较复杂)。但要注意这样一个事实:istreamoperator>>重载std::string读取“单词”,这是(通过C ++),字符序列除以空格。你的例子读了这样的话。所以句子

  

这句话中有很多#email字样(#email也在这里),但是出于某种原因,#email不在这里。

只有#email(一个(#email和一个#email,)。