- filesystem[meta header]
- std::filesystem[meta namespace]
- function[meta id-type]
- cpp17[meta cpp]
namespace std::filesystem {
void permissions(const path& p, perms prms, perm_options opts=perm_options::replace); // (1)
void permissions(const path& p, perms prms, std::error_code& ec) noexcept; // (2)
void permissions(const path& p, perms prms, perm_options opts, std::error_code& ec); // (3)
}
- path[link path.md]
- perms[link perms.md]
- perm_options[link perm_options.md]
ファイルの権限を設定する。
- POSIX環境では、
fchmodat()
関数を使用して、パスto
のファイルに対する権限を設定する - (2) は、権限オプションとして
perm_options::replace
が使用される
なし
- (1) : ファイルシステムがエラーを報告する場合がある。エラーが発生した場合は、
std::filesystem::filesystem_error
例外を送出する - (2) : 投げない
#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::permissions[color ff0000]
- fs::perms::owner_all[link perms.md]
- C++17
- Clang: 7.0 [mark verified]
- GCC: 8.1 [mark verified]
- Visual C++: