为了账号安全,请及时绑定邮箱和手机立即绑定

如何让程序监视C ++中的文件修改?

如何让程序监视C ++中的文件修改?

C++
哔哔one 2019-08-26 10:46:08
如何让程序监视C ++中的文件修改?有许多程序,例如Visual Studio,可以检测外部程序何时修改文件,然后在用户想要选择时重新加载文件。是否有一种相对简单的方法在C ++中执行此类操作(不一定必须与平台无关)?
查看完整描述

3 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

根据平台的不同,有几种方法可以做到这一点。我会从以下选择中选择:

跨平台

Trolltech的Qt有一个名为QFileSystemWatcher的对象,它允许您监视文件和目录。我确信还有其他跨平台框架也可以为您提供这种功能,但是根据我的经验,这个框架运行得相当好。

Windows(Win32)

有一个名为FindFirstChangeNotification的Win32 api 可以完成这项工作。有一篇很好的文章,api的一个小包装类叫做如果在指定的目录中发生更改如何获得通知,这将启动你。

Windows(.NET Framework)

如果您可以在.NET Framework中使用C ++ / CLI,那么 System.IO.FileSystemWatcher就是您的选择。Microsoft有一篇关于如何使用此类监视文件系统更改的文章 。

OS X.

FSEvents API是新的OS X 10.5和非常功能全面。

Linux的

使用inotify作为Alex在他的回答中提到。


查看完整回答
反对 回复 2019-08-26
?
米脂

TA贡献1836条经验 获得超3个赞

SimpleFileWatcher可能就是你要找的东西。但当然这是一种外部依赖 - 也许这对你来说是没有选择的。


查看完整回答
反对 回复 2019-08-26
  • 3 回答
  • 0 关注
  • 614 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信