本文共 439 字,大约阅读时间需要 1 分钟。
- #include<unistd.h>
- int access(const char* pathname, int mode);
- int faccessat(int fd, const char* pathname, int mode, int flag);
先说简单的access函数,pathname是文件的路径名+文件名,指定要测试的文件;mode则指明测试哪种权限,实际上有4种: - F_OK 值为0,判断文件是否存在
- R_OK 值为4,判断对文件是否有读权限
- W_OK 值为2,判断对文件是否有写权限
- X_OK 值为1,判断对文件是否有读写权限
对于faccessat函数,其用fd来指定目录,mode的含义不变,而flag可以指定是判断有效用户的权限还是实际用户的权限。
如果flag的值是AF_EACCESS(值为0x200)的话,判断的是有效用户的权限;
如果flag的值是0的话,则跟access一样,判断的是实际用户的权限。
当判断有权限时,返回0,否则返回-1.
转载地址:http://vzexi.baihongyu.com/