C++ 用于文件/运行时权限的Unix/Linux API

C++ 用于文件/运行时权限的Unix/Linux API,c++,c,linux,api,unix,C++,C,Linux,Api,Unix,我想在/proc/$pid/mem中写入内存,但我认为这需要超级用户root权限。是否有API来测试程序是否具有编辑这些文件的权限?您可以stat()路径名和输出struct stat的st\u mode字段包含权限位。有关详细信息,请参阅手册页stat(2) int access(const char *path, int amode); 其中path是您的文件名,amode是按位包含或包含要检查的访问权限 R_OK、W_OK和X_OK分别保存用于检查读取、写入和搜索/执行权限的模式值 in

我想在
/proc/$pid/mem
中写入内存,但我认为这需要超级用户root权限。是否有API来测试程序是否具有编辑这些文件的权限?

您可以
stat()
路径名和输出
struct stat
st\u mode
字段包含权限位。有关详细信息,请参阅手册页
stat(2)

int access(const char *path, int amode);
其中path是您的文件名,amode是按位包含或包含要检查的访问权限

R_OK、W_OK和X_OK分别保存用于检查读取、写入和搜索/执行权限的模式值

int readable, readwritable;

//checking for read access
readable = access("/usr/bin/file", R_OK);

//checking for read and write access
readwritable = access("/usr/bin/file", R_OK|W_OK);
有关access()的完整说明,请查看手册页