通过示例更容易解释。
当两个文本编辑器同时编辑同一个文本文件时,当一个编辑器保存文件时,另一个编辑器知道它已被修改并要求执行smth。
如何在程序外获取文件被修改的信号?
我正在使用c ++(虽然我认为它并不重要)和Linux上。 (Windows的解决方案也会很好)
答案 0 :(得分:2)
ISO-C ++不提供此功能,因此您必须坚持使用操作系统提供的功能。
在Linux上inotify,在Windows上使用directory change notifications。
答案 1 :(得分:1)
①在写入之前尽可能接近检查文件的时间戳。如果它不是您上次打开此文件进行阅读时的情况,那么请注意!
②您可以构建文件的校验和,并将其与之前构建的文件进行比较。
③注册到系统服务,通知您有关文件活动的信息。这取决于您使用的操作系统的商誉;如果此通知服务无法正常工作,您的内容将失败。在Linux上看看Inotify。