C++17/20 - 使用 <filesystem> 确定文件是否可执行

C++17/20 - Use <filesystem> to determine if file is executable

我想知道是否有一种方法可以使用新的 C++17/20 #include <filesystem> 来确定目录中的文件是否可执行。我不想使用升压。我知道如何使用 statst_modeS_IXUSR 来完成,但我还没有找到使用纯 C++17/20 来完成的方法。

检查执行permissions,即相应std::experimental::filesystem::permissions结构的owner_execgroup_execother_exec属性。给定一个文件名,可以使用

检索它
namespace fs = std::experimental::filesystem;

// ...

const auto permissions = fs::status("file.txt").permissions();

根据您对当前用户的了解检查这些(是文件的当前用户所有者,在文件的用户组中)。