我正在编写C ++程序,以便对网站进行一些静态分析和修改。我不会更改项目文件,但会在新文件夹中复制,分析和修改文件。
有没有办法检查,例如,使用boost::filesystem
,如果我(程序/执行它的用户)具有足够的权限来读取(文件),执行(用于处理目录层次结构)并写入(文件或创建新文件夹)在当前文件夹及其文件上(或至少在unix系统下)?
答案 0 :(得分:1)
不,您无法使用boost程序选项库检查文件权限。可以使用boost文件系统库查询文件权限:
#include <boost/filesystem.hpp>
#include <stdio.h>
namespace bfs=boost::filesystem;
int main(int argc,char * argv[])
{
if (argc < 2)
return;
bfs::path p(argv[1]);
bfs::file_status s = status(p);
printf("%X\n",s.permissions());
}
权限标志的值为enum perms in 升压/文件系统/ V3 / operations.hpp
答案 1 :(得分:0)