gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 17:49:21 25 4
gpt4 key购买 nike

有很多程序(例如 Visual Studio)可以检测外部程序何时修改文件,然后根据用户的需要重新加载该文件。在 C++ 中是否有一种相对简单的方法来完成此类事情(不一定必须与平台无关)?

最佳答案

根据平台的不同,有多种方法可以实现此目的。我会从以下选项中进行选择:

跨平台

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

Windows (Win32)

有一个名为 FindFirstChangeNotification 的 Win32 api哪个可以完成这项工作。有一篇不错的文章,其中有一个名为 How to get a notification if change occurs in a specified directory 的小型 api 包装类。这将帮助您开始。

Windows(.NET Framework)

如果您可以将 C++/CLI 与 .NET Framework 结合使用,那么 System.IO.FileSystemWatcher是您选择的类(class)。微软有一篇很好的文章 how to monitor file system changes使用此类。

操作系统

FSEvents API 是 OS X 10.5 的新功能,功能非常齐全。

Linux

使用inotify正如亚历克斯在他的回答中提到的。

关于c++ - 如何让我的程序监视 C++ 中的文件修改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17922213/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com