首页 > 解决方案 > 如何在 C++ 中非破坏性地检查目录中的任何内容都不能被写入/删除

问题描述

我想确保单元测试即将访问的目录具有阻止该测试更改任何内容的权限。特别是,不应允许修改、创建或删除文件/子目录。有太多数据要复制到临时位置。

我知道 std::filesystem::permissions,但是要使用它,我仍然需要知道谁拥有什么文件,我是谁,并且对于组来说也是如此。如果目录为空,我还需要知道我是否在父目录中具有写权限,以及是否设置了粘性标志。那我大概就有答案了。它仍然假设我想在某种 Unix 风格下运行(确实如此),并且没有人并行修改任何东西(现在还好)。

我想在没有通用跨平台解决方案的情况下的后备方案是检查我不拥有该目录并且组/其他权限已关闭。它不会是防弹的,但对于我的目的来说它可能足够安全。有没有更好的办法?

标签: c++filesystems

解决方案


推荐阅读