假设我{* 1}} * nix机器上的文件,我点击了open()
。但是当我eof
编辑它时,它仍在被写入。
有没有办法检测文件是否在open()
- 时间后增长?或者我是否需要open()
并重新close()
进行检查?
有没有办法在没有open()
和重新eof
的情况下阅读旧版close()
?
答案 0 :(得分:1)
虽然不可移植,但在Linux上,您可以使用inotify系统并监视您感兴趣的文件的文件关闭事件。请参阅http://www.ibm.com/developerworks/library/l-inotify/。
请注意,仅仅因为文件被其他进程关闭并不一定意味着它的大小已经增加。如果您关心文件大小更改,请在关闭文件大小之前使用stat()
检查大小更改。见How do you determine the size of a file in C?