如何确定是否可以使用C++编写文件

Lau*_*Roy 3 c++ boost file

在C++中,如何确定程序是否具有对文件的只读访问权限或读写权限?我搜索了boost文件系统库,但我还没有找到帮助我的东西.现在我想打开文件,尝试写入内部并检查错误,但这似乎不是一个非常合适的方法.

任何线索?

编辑:它需要跨平台

wal*_*lyk 5

大多数运行时库完全支持的系统调用是

#include <unistd.h>

if (0 == access (char *pathname, int mode))
    // permission is granted
Run Code Online (Sandbox Code Playgroud)

其中模式F_OK测试存在的文件,或由按位或一个或多个的的掩模R_OKW_OKX_OK


小智 5

在一天结束时,测试是否可以将数据写入现代操作系统中的文件的唯一方法是实际尝试编写它.许可测试和实际写入之间的文件可能发生了很多事情.