2015-12-08 106 views
0

所以我有ffmpeg寫它的進展到一個文本文件,我需要從所述文件中讀取新的值(行)。我應該如何使用Qt類來解決這個問題,以儘量減少我需要編寫的代碼量?
我甚至都不知道從哪裏開始,除了做一些醜陋的事情,比如seek到最後,存儲這個pos,然後稍後再找到最後的結果,並將新的pos與前一個做比較。例如,我不清楚QTextStream是否可以在這裏使用。如何從文件中讀取新行作爲另一個進程追加它們?

回答

0

我前段時間使用Win32 API自己的接口作爲文件系統通知,並且可靠地工作了100%。現代操作系統爲我們提供文件更改的通知。而且Qt也包含了這樣的功能。特別是爲了跟蹤文件更改,我會使用QFileSystem::fileChanged信號來啓動插槽myFileReadNextBuffer()方法,以防萬一文件被更改。但是,您仍然想要通過從新文件長度中減去前一個值來評估添加了多少個字節。這裏也有相對的問題:How to know when and which files are changed in windows filesystem with winapi

如果文件僅增長:

無論該文件是基於文本的或不我會在共享模式下打開並閱讀到最後,並瞭解更多,直到結束時收到通知。

相關問題