C++/Qt : track filesystem changes

标签 c++ qt filesystems

我目前正在尝试实现一个 c++ 程序来监视文件系统上的文件夹。在初始化应用程序时,它会扫描目录并保存一些关于它的元信息。

当程序处于事件状态时发生某些事情时,我可以读取文件夹的更改(例如更改文件夹或文件的名称)。但是我无法在程序未运行时跟踪对目录的更改。启动时我会得到

Removed folder X
Added folder Y

代替

Renamed folder X to Y

是否可以用不同于路径/名称的其他方式来识别目录? 如果是,我将如何在 C++/Qt 中收集该信息?

最佳答案

而不是重新发明轮子,你可以只使用 QFileSystemWatcher 类,Qt 文档指出:-

The QFileSystemWatcher class provides an interface for monitoring files and directories for modifications

如果您希望程序一直运行,那么您可能需要考虑创建服务(在 Windows 中)或守护进程(Linux/OSX)。

关于C++/Qt : track filesystem changes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18353893/

相关文章:

python - 派生类在 PySide (Qt/PyQt) 的错误线程中接收信号

python - 如何过滤QComboBox的数据

c++ - 使用 qmake 将 dll 安装到 2 个目标(路径)中

linux - 7 天不工作后删除文件

java - 是否有跨平台的 Java 方法来删​​除文件名特殊字符?

c++ - [LLVM-9 clang-9 OSX]: std::filesystem::path 无法识别

c# - Emgucv 如何将 FileNode 转换为 Matrix?

c++ - 模板化方法的继承

sql - 在数据库外存储主键生成器的安全方法?

android - cocos2d-x Android 中的单例