如何在另一个进程附加文件时从文件中读取新行?

时间:2015-12-08 20:28:49

标签: qt qt5 qfile qtextstream

所以我ffmpeg将其进度写入文本文件,我需要从所述文件中读取新值(行)。我应该如何使用Qt类来解决这个问题,以便最大限度地减少我必须编写的代码量? 我甚至不知道从哪里开始,除了做seek之类的丑陋的事情,存储这个pos,然后稍后寻找到最后并比较新的pos到上一个。例如,如果QTextStream可以在这里使用,我不清楚。

1 个答案:

答案 0 :(得分:0)

前段时间我使用Win32 API自己的接口进行文件系统通知,并且100%可靠地工作。现代操作系统为我们提供了文件更改的通知。 Qt也融入了这些功能。特别是为了跟踪文件更改,我将使用QFileSystem::fileChanged信号来启动插槽myFileReadNextBuffer()方法,以防文件被更改。但是,您仍然希望通过从新文件长度中减去前一个来计算添加的字节数。此处还有一个相对的问题:How to know when and which files are changed in windows filesystem with winapi

如果文件只是在增长:

该文件是否基于文本我将以共享模式打开它并读到最后并阅读更多信息直到收到通知结束。