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)
}
概要
ファイルの権限を設定する。
効果
- 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);
}
出力
バージョン
言語
- C++17
処理系
- Clang: 7.0 ✅
- GCC: 8.1 ✅
- Visual C++: