我正在编写一个对文件进行操作的程序(只读取文件),而另一个程序正在编写该文件(我无法控制它以使用事件而我不会知道文件的内容)。我想知道该程序何时完成写入,以阻止我的程序在该文件上运行。我使用了这两种方法,但我不知道哪一种方法可靠且性能更高:
1-将文件重命名为其他名称,如果成功,则将其重命名为原始名称。
2次刷新文件,如果文件大小暂时没有改变(例如5秒),则停止操作。
哪一个更好?有没有更好的方法(更可靠和更高的性能)?
我使用Windows 7和qt5.2(或visual studio)进行c ++。