清除eof位不能使用while循环

时间:2015-09-20 21:37:31

标签: c++ clear eof getline

我有一个程序,我试图编写不断监视日志文件并将特定项目输出到新文件中。

我实际上在使用。

for (int i = 1; i < y; i ++)
    getline(read, line); // skips to the last known end

while (getline(read, line))
{
cout << line;
}

read.clear();

我还跟踪我在变量上使用增量运算符的行。在文件的最后,我清除了eof位并寻找我所在的最后一行。从使用调试器看起来它的工作原理。我在写入文件时检索文件中的下一行,但当我回到while (getline(read,line));时,它会跳过while循环,为什么会这样?

  • 程序读取文件中的最后一行。
  • 睡了5分钟。
  • 输入文件已从第三方添加了新行。
  • 睡觉后它会醒来然后回到while循环。
  • 它成功从输入中检索新行。但没有 再次进入while循环

0 个答案:

没有答案