std::filesystem::file_status::permissions
来自cppreference.com
< cpp | filesystem | file status
std::filesystem::perms permissions()constnoexcept; | (1) | (C++17 起) |
void permissions(std::filesystem::perms perm )noexcept; | (2) | (C++17 起) |
访问文件权限信息。
1) 返回文件权限信息。
2) 设置文件权限为 perm。
[编辑]参数
perm | - | 要设置的文件权限 |
[编辑]返回值
1) 文件权限信息。
2) (无)
[编辑]示例
运行此代码
#include <filesystem>#include <fstream>#include <iostream> void demo_perms(std::filesystem::perms p){usingstd::filesystem::perms;auto show =[=](char op, perms perm){std::cout<<(perms::none==(perm & p)?'-': op);}; show('r', perms::owner_read); show('w', perms::owner_write); show('x', perms::owner_exec); show('r', perms::group_read); show('w', perms::group_write); show('x', perms::group_exec); show('r', perms::others_read); show('w', perms::others_write); show('x', perms::others_exec);std::cout<<'\n';} int main(){std::ofstream("test.txt");// 创建文件 std::cout<<"创建文件的权限: "; demo_perms(std::filesystem::status("test.txt").permissions()); std::filesystem::permissions("test.txt", std::filesystem::perms::owner_all|std::filesystem::perms::group_all, std::filesystem::perm_options::add); std::cout<<"添加 u+rwx 和 g+rwx 后: "; demo_perms(std::filesystem::status("test.txt").permissions()); std::filesystem::remove("test.txt");}
可能的输出:
创建文件的权限: rw-r--r-- 添加 u+rwx 和 g+rwx 后: rwxrwxr--