【问题标题】:Reading a growing file读取不断增长的文件
【发布时间】:2013-09-27 06:04:41
【问题描述】:

如果我遇到feof() 然后stat 显示文件已经增长,有没有办法在不执行fclose()fopen() 的情况下读取添加的数据?

【问题讨论】:

  • herehere
  • 感谢@Tsukuyo,但第一个链接是C++,它使用一组不同的文件i/o调用,第二个说使用select(),这似乎不可行(据我无论如何理解select())。

标签: c linux file-handling


【解决方案1】:

是的。您可以在文件上调用clearerr,或执行任何查找操作,例如fseek(f, 0, SEEK_CUR)

【讨论】:

  • fseek(f, 0, SEEK_CUR) 清除 eof 标志?这对我来说是个新闻(而且很有帮助!)。
  • C99 7.19.9.2 fseek 函数,第 5 段:“确定新位置后,成功调用 fseek 函数会撤消 ungetc 函数对流的任何影响,清除结束-流的文件指示符,然后建立新位置。"
猜你喜欢
  • 1970-01-01
  • 2012-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多