3

私は現在 QFileSystemWatcher を使用して、ディレクトリに含まれるファイルの変更を監視しています。これはうまく機能しますが、特定のプログラムでこれらのファイルを変更した場合のみです。

たとえば、Qt Creator を使用してファイルを変更すると、QFileSytemWatcher が正しくトリガーされます。Notepad++ や Eclipse などを使用して、まったく同じファイルをまったく同じ方法で編集して保存すると、ファイルが変更されることはありません。

これは、OS/プログラムが書き込みバッファリングを処理する方法に関係していると確信しています。残念ながら、私のプログラムは、書き込みがどのように行われるかを制御することはできません。どのプログラムでも、監視しているファイルを変更できます。その結果、ファイルの変更を確実に検出する唯一の方法は、通常のタイマーを使用してファイルの変更をスキャンすることです (これは、OS がファイルを監視するよりもはるかに効率的ではありません)。これを行うより良い方法はありますか?どんな助けでも大歓迎です。

4

0 に答える 0