我有一个文本文件,我应该打开,扫描并计算文本文件中特定单词或字符串出现的次数(" #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;
答案 0 :(得分:5)
你的代码对我来说似乎很好(也比较复杂)。但要注意这样一个事实:istream
为operator>>
重载std::string
读取“单词”,这是(通过C ++),字符序列除以空格。你的例子读了这样的话。所以句子
这句话中有很多#email字样(#email也在这里),但是出于某种原因,#email不在这里。
只有#email
(一个(#email
和一个#email,
)。