我正在尝试用两个不同的文本文件制作一个程序。其中一个包含我要分析的实际文本,另一个包含单词列表。该程序应该检查列表中的单词何时出现在文本中并对其进行计数。这是我到目前为止的(非工作)代码:
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
int main () {
string word1;
string word2;
int listHits = 0;
ifstream data1 ("text.txt");
if ( ! data1 ) {
cout << "could not open file: " << "text.txt" << endl;
exit ( EXIT_FAILURE );
}
ifstream data2 ("list.txt");
if ( ! data2 ) {
cout << "could not open file: " << "list.txt" << endl;
exit ( EXIT_FAILURE );
}
while ( data1 >> word1 ) {
while ( data2 >> word2 ) {
if ( word1 == word2 ) {
listHits++;
}
}
}
cout << "Your text had " << listHits << " words from the list " << endl;
system("pause");
return 0;
}
如果 text.txt 包含
这里有一段文字。它将被加载到程序中。
和 list.txt 包含
将
预期的结果是 3。但是,无论文本文件中有什么,程序总是给我答案 0。我已经检查了程序实际上是否设法通过计算它执行循环的次数来读取文件,并且它作品。
提前致谢