ifstream out("output.txt");
string search = "input1";
int count = 0;
while (getline(out, temp));
{
if (temp.find(search))
{
count++;
}
}
cout << "Total times input1 is present in output.txt: " << count << endl;
我正在尝试计算输出文件中“input1”出现的次数。 cout
显示1,应该显示4.在cout
和while
语句之间加if
表示我的getline()
没有读一行。< / p>
在测试时,我在此getline()
循环之前使用了while
,并且它完全接受了所有内容。
Output.txt:
这是input1.txt中的第一行。
这是input2.txt中的第一行。
这是input1.txt中的第二行。
这是input2.txt中的第二行。
这是input1.txt中的第三行。
这是input2.txt中的第三行。
这是input1.txt中的第四行。
这是input2.txt中的第四行。
经过一段时间的测试和搜索互联网,我仍然不知道我做错了什么。任何帮助,将不胜感激。
由于
答案 0 :(得分:1)
while (getline(out, temp))
之后的分号将包含if
语句的块从循环中取出并且find
函数只能看到文件中的最后一行。尝试删除它。