1

用例子更容易解释。

当 2 个文本编辑器同时编辑同一个文本文件时,当一个编辑器保存文件时,另一个编辑器知道它已被修改并要求做 smth。

如何获得文件在程序外被修改的信号?

我正在使用 c++(尽管我认为这并不重要)和 linux。(Windows的解决方案也很好)

4

2 回答 2

2

ISO-C++ 不提供此功能,因此您必须坚持操作系统提供的功能。

在将是inotify的 Linux 上,在 Windows 上您将使用目录更改通知

于 2013-09-17T11:58:54.233 回答
1

① 写入前尽可能检查文件的时间戳。如果它不是您上次打开此文件进行阅读时的状态,请注意!

② 您可以构建文件的校验和,并将其与您之前构建的文件进行比较。

③ 注册一个系统服务,该服务会通知您有关文件活动的信息。这取决于您使用的操作系统的善意;如果这个通知服务不能正常工作,你的东西就会失败。在 Linux 上看看 Inotify。

于 2013-09-17T11:56:27.190 回答