方法1. access函数
适用范围:所有C/C++项目
头文件: #include < io.h>
函数原型: intaccess(const char *filename, int mode);
函数说明:判断是否具有存取文件的权限
函数参数说明:
filename:可以填写文件夹路径或者文件路径
mode:
F_OK (或0): 判断该文件/文件夹是否存在;
R_OK (或2): 判断该文件/文件夹是否有读权限;
W_OK (或4): 判断该文件/文件夹是否有写入权限;
X_OK (或6): 判断该文件/文件夹是否有执行权限;
返回值:
若存在或者具有权限,返回值为0;不存在或者无权限,返回值为-1,并把错误代码存在errno 中(errno.h中定义)。
错误代码:
EACCESS:参数pathname所指定的文件不符合所要求测试的权限.
EROFS: 欲测试写入权限的文件存在于只读文件系统内.
EFAULT:参数pathname指针超出可存取内存空间.
EINVAL:参数mode 不正确.
ENAMETOOLONG:参数pathname太长.
ENOTDIR:参数pathname为一目录.
ENOMEM:核心内存不足
ELOOP: 参数pathname 有过多符号连接问题.
EIO I/O:存取错误.
#include <stdio.h> #include <io.h> int main(int argc, const char** argv) { char* filePath = "C://Users//Public//Downloads" ; if (_access(filePath,0) == -1) { printf("The file/dir doesn't exisit"); } else { printf("Exisit "); } return 0; } |
|