如何知道写文件的时间已经完成?

时间:2015-05-04 04:46:54

标签: c++ windows file qt5

我正在编写一个对文件进行操作的程序(只读取文件),而另一个程序正在编写该文件(我无法控制它以使用事件而我不会知道文件的内容)。我想知道该程序何时完成写入,以阻止我的程序在该文件上运行。我使用了这两种方法,但我不知道哪一种方法可靠且性能更高:

1-将文件重命名为其他名称,如果成功,则将其重命名为原始名称。

2次刷新文件,如果文件大小暂时没有改变(例如5秒),则停止操作。

哪一个更好?有没有更好的方法(更可靠和更高的性能)?

我使用Windows 7和qt5.2(或visual studio)进行c ++。

1 个答案:

答案 0 :(得分:2)

Qt提供了一个名为QFileSystemWatcher的类,它允许您监视文件和目录。