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



所以我让ffmpeg将其进度写入一个文本文件,我需要从所述文件中读取新值(行)。我应该如何使用Qt类来实现这一点,以便最大限度地减少我必须编写的代码量
我甚至不知道从哪里开始,除了做一些丑陋的事情,比如seek一直到最后,存储这个pos,然后再过一段时间再寻找最后,并将新的pos与前一个进行比较。例如,我不清楚QTextStream是否可以在这里使用。

我在一段时间前使用了Win32 API自己的接口来进行文件系统通知,并且工作100%可靠。现代操作系统为我们提供文件更改通知。Qt也包含了这样的功能。特别是为了跟踪文件更改,我会使用QFileSystem::fileChanged信号来启动slot myFileReadNextBuffer()方法,仅在文件更改的情况下。但是,您仍然需要通过从新文件长度中减去前一个来计算添加了多少字节。这里还有一个相对的问题:如何知道winapi在windows文件系统中何时以及哪些文件被更改。

如果文件仅在增长:

无论该文件是否基于文本,我都会以共享模式打开它,一直读到最后,并在收到通知时继续读到最后。

相关内容

  • 没有找到相关文章

最新更新