admin管理员组

文章数量:1794759

C语言:access函数的使用

C语言:access函数的使用

 

                            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、编译执行

本文标签: 函数语言Access