一、access()函数用来判断用户是否具有访问某个文件的权限(或判断某个文件是否存在).
二、需要包含#include<unistd.h>
三、参数和返回值
int access(const char *pathname,int mode)
参数:
pathname:表示要测试的文件的路径
mode:表示测试的模式可能的值有:
R_OK:是否具有读权限
W_OK:是否具有可写权限
X_OK:是否具有可执行权限
F_OK:文件是否存在
返回值:若测试成功则返回0,否则返回-1
四、实际测试
1、测试c代码
#include<unistd.h> #include<stdio.h> #include<stdlib.h> /* access()函数用来判断用户是否具有访问某个文件的权限(或判断某个文件是否存在). int access(const char *pathname,int mode) 参数: pathname:表示要测试的文件的路径 mode:表示测试的模式可能的值有: R_OK:是否具有读权限 W_OK:是否具有可写权限 X_OK:是否具有可执行权限 F_OK:文件是否存在 返回值:若测试成功则返回0,否则返回-1 */ int main(int argc,char *argv[]){ int rt_value; if(argc<2){ printf("Usage:%s filename\n",argv[0]); exit(1); } rt_value=access(argv[1],R_OK); if(rt_value==0) printf("File:%s can read rt_value=%d\n",argv[1],rt_value); else printf("File:%s can't read rt_value=%d \n",argv[1],rt_value); rt_value=access(argv[1],W_OK); if(rt_value==0) printf("File:%s can write rt_value=%d\n",argv[1],rt_value); else printf("File:%s can't write rt_value=%d \n",argv[1],rt_value); rt_value=access(argv[1],X_OK); if(rt_value==0) printf("File:%s can execute rt_value=%d\n",argv[1],rt_value); else printf("File:%s can't execute rt_value=%d \n",argv[1],rt_value); rt_value=access(argv[1],F_OK); if(rt_value==0) printf("File:%s exist rt_value=%d\n",argv[1],rt_value); else printf("File:%s not exist rt_value=%d \n",argv[1],rt_value); return 0; }
2、编译执行
标签:OK,int,是否,c++,C语言,access,测试,权限 From: https://www.cnblogs.com/opensmarty/p/17108977.html