#include<unistd.h>
int access(const char* pathname, int mode);
参数一:路径名
参数二:
F_OK 值为0,判断文件是否存在
X_OK 值为1,判断对文件是可执行权限
W_OK 值为2,判断对文件是否有写权限
R_OK 值为4,判断对文件是否有读权限
注:后三种可以使用或“|”的方式,一起使用,如W_OK|R_OK
/*
*access函数用来测试访问文件的能力
* */
#include <unistd.h>
#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>
int main(int argc,char *argv[])
{
int ret;
//判断文件是否存在
ret=access(argv[1],F_OK);
if(ret==0)
{
printf("文件存在\n");
}else{
printf("文件不存在\n");
exit(0);
}
//判断文件是否可读
ret=access(argv[1],R_OK);
if(ret==0)
{
printf("文件可读\n");
}else{
printf("文件不可读\n");
}
//判断文件是否可写
ret=access(argv[1],W_OK);
if(ret==0)
{
printf("文件可写\n");
}else{
printf("文件不可以写\n");
}
//判断文件是否可执行
ret=access(argv[1],X_OK);
if(ret==0)
{
printf("文件可执行\n");
}else{
printf("文件不可以执行\n");
}
return 0;
}
运行结果
./a.out a.out
文件存在
文件可读
文件可写
文件可执行