在C++中,access
函数用于检查文件或目录是否存在以及是否具有特定的访问权限。该函数定义在<unistd.h>
头文件中。
以下是access
函数的原型:
int access(const char *pathname, int mode);
其中,pathname
是要检查的文件或目录的路径,mode
是要检查的权限。mode
参数可以是以下值之一:
F_OK
:检查文件是否存在R_OK
:检查读权限W_OK
:检查写权限X_OK
:检查执行权限access
函数返回值为0表示成功,-1表示失败。
以下是一个使用access
函数的示例:
#include <iostream>
#include <unistd.h>
int main() {
const char *filename = "example.txt";
if (access(filename, F_OK) == 0) {
std::cout << "File exists" << std::endl;
} else {
std::cout << "File does not exist" << std::endl;
}
if (access(filename, R_OK) == 0) {
std::cout << "File is readable" << std::endl;
} else {
std::cout << "File is not readable" << std::endl;
}
return 0;
}
在上面的示例中,首先检查文件是否存在,然后检查文件是否可读。根据access
函数的返回值,输出相应的信息。