如何使用Boost库更改文件权限?

4
我该如何使用Boost库将文件权限更改为只读?
我已经查看了一些相关的问题,例如这个这个,但我仍然不知道如何操作。我尝试过以下方法:
boost::filesystem::wpath path = L"abc.txt";
if( boost::filesystem::exists( path ) && boost::filesystem::is_regular_file( path ) )
{
    boost::filesystem::file_status s = boost::filesystem::status( path );
    /* here I need to set file permissitons to READ ONLY for `path` file */
}

有什么想法吗?

1
那么,有什么问题吗?你尝试过什么? - Igor R.
2个回答

9
#include <boost/filesystem.hpp>

int main()
{
  using namespace boost::filesystem;
  wpath path = L"abc.txt";
  permissions(path, others_read|owner_read);
}

我正在使用boost 1.44,但在boost::filesystem命名空间中找不到permissions - mosg
@mosg 好的,你提供的链接指向了1.49版本的文档。如果你使用早期版本,很可能无法设置权限。但请注意,1.44已经有大约3年的历史了... - Igor R.
是的,这是我的错,我没有提到boost版本。无论如何,还是谢谢! - mosg

7

使用boost 1.55,在Windows下,以下代码有效:

permissions(file_path, add_perms|owner_write|group_write|others_write);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接