0

因此,我已将ffmpeg其进度写入文本文件,并且需要从所述文件中读取新值(行)。我应该如何使用 Qt 类来解决这个问题,以尽量减少我必须编写的代码量?
我什至不知道从哪里开始,除了做一些丑陋的事情,比如seeking 到最后,存储这个pos,然后稍后再次寻找到最后,并将新pos的与前一个进行比较。例如,我不清楚是否QTextStream可以在这里使用。

4

1 回答 1

0

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

如果文件只是增长:

无论文件是否基于文本,我都会以共享模式打开它并阅读到最后并阅读更多内容,直到收到通知为止。

于 2015-12-08T22:15:55.647 回答