C语言:access函数的使用
一、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、编译执行
版权声明:本文为qq_37858386原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。