access函数
在C编程语言中,`access` 函数用于检查调用进程是否可以访问指定文件或路径,并执行特定的操作(例如,检查文件是否存在、是否可读、是否可写等)。它定义在 <unistd.h> 头文件中。以下是 access 函数的详细说明:
函数原型
#include <unistd.h>int access(const char *pathname, int mode);
参数
- pathname: 指向需要检查的文件或路径名的指针。
- mode: 检查文件访问权限的模式。其值可以是以下常量的组合:
- F_OK: 检查文件是否存在。
- R_OK: 检查文件是否可读。
- W_OK: 检查文件是否可写。
- X_OK: 检查文件是否可执行。
返回值
- 返回 0 表示调用进程具有指定的访问权限。
- 返回 -1 表示调用进程不具有指定的访问权限或出现错误(此时 errno 会被设置为相应的错误代码)。
示例代码
#include <stdio.h>
#include <unistd.h>int main() {
const char *filename = "test.txt"; if (access(filename, F_OK) == 0) {
printf("File exists.\n"); if (access(filename, R_OK) == 0) {
printf("File is readable.\n");
}