C++判断文件/文件夹的状态:文件存在与否、读权限、写权限、执行权限
使用access函数,可以判断文件/文件夹的状态
1.头文件
#include <io.h>
2.函数原型
int access(const char *filename, int mode);
3.函数参数说明
filename:文件夹路径或者文件路径
mode:
F_OK (或0): 判断该文件/文件夹是否存在;
R_OK (或2): 判断该文件/文件夹是否有读权限;
W_OK (或4): 判断该文件/文件夹是否有写入权限;
X_OK (或6): 判断该文件/文件夹是否有执行权限;
4.函数返回值说明
若存在或者具有权限,返回值为0;
不存在或者无权限,返回值为-1,并把错误代码存在errno 中(errno.h中定义)
错误代码:
EACCESS: 参数pathname所指定的文件不符合所要求测试的权限.
EROFS: 欲测试写入权限的文件存在于只读文件系统内.
EFAULT: 参数pathname指针超出可存取内存空间.
EINVAL: 参数mode 不正确.
ENAMETOOLONG:参数pathname太长.
ENOTDIR: 参数pathname为一目录.
ENOMEM: 核心内存不足
ELOOP: 参数pathname 有过多符号连接问题.
EIO I/O: 存取错误.