- filesystem[meta header]
- std::filesystem[meta namespace]
- enum[meta id-type]
- cpp17[meta cpp]
namespace std::filesystem {
enum class perm_options {
replace,
add,
remove,
nofollow
};
}
権限オプションを表す、ビットマスクの列挙型。それぞれの列挙子は、以下の意味を持つ:
列挙子 | 説明 |
---|---|
replace |
指定されたperms 値でファイルの権限を置き換える |
add |
指定されたperms 値と現在のファイルの権限で論理和 (OR) をとり、ファイルの権限を設定する |
remove |
指定されたperms 値と現在のファイルの権限で論理積 (AND) をとり、ファイルの権限を設定する |
unfollow |
リンクが解決された結果のファイルではなく、シンボリックリンク自身の権限を設定する |
#include <cassert>
#include <filesystem>
#include <fstream>
namespace fs = std::filesystem;
int main()
{
std::ofstream{"regular.txt"};
// regular.txtファイルの権限を、owner_all (0700) に変更する
fs::permissions("regular.txt", fs::perms::owner_all, fs::perm_options::replace);
// regular.txtファイルの権限に、others_read (07) を追加する
fs::permissions("regular.txt", fs::perms::others_read, fs::perm_options::add);
}
- fs::perm_options::replace[color ff0000]
- fs::perm_options::add[color ff0000]
- fs::permissions[link permissions.md]
- fs::perms::owner_all[link perms.md]
- fs::perms::others_read[link perms.md]
- C++17
- Clang: 7.0 [mark verified]
- GCC: 8.1 [mark verified]
- Visual C++: