从while(getline())不起作用的文件中读取行

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.在whileif之间插入cout语句显示我的getline()未读取一行。从while(getline())不起作用的文件中读取行

在测试过程中,我在while循环之前使用了getline(),它把所有东西都收拾得很好。

Output.txt的:

这是input1.txt的第一行。
这是input2.txt的第一行。
这是input1.txt中的第二行。
这是input2.txt中的第二行。
这是input1.txt中的第三行。
这是input2.txt中的第三行。
这是input1.txt中的第四行。
这是input2.txt中的第四行。

经过一段时间的测试和搜索互联网,我仍然不知道我做错了什么。任何帮助,将不胜感激。

感谢

回答:

while (getline(out, temp))后的分号越来越含if声明圈外的块和具有find功能只看到文件的最后一行。尝试删除它。

以上是 从while(getline())不起作用的文件中读取行 的全部内容, 来源链接: utcz.com/qa/265979.html

回到顶部