如何让程序监视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在他的回答中提到。
- 3 回答
- 0 关注
- 643 浏览
添加回答
举报
0/150
提交
取消