C语言:access函数的使用

 

                            C语言:access函数的使用


一、access()函数用来判断用户是否具有访问某个文件的权限(或判断某个文件是否存在). 


二、需要包含#include
 

三、参数和返回值

  int access(const char *pathname,int mode)
 参数:
         pathname:表示要测试的文件的路径
         mode:表示测试的模式可能的值有:
         R_OK:是否具有读权限
         W_OK:是否具有可写权限
         X_OK:是否具有可执行权限
         F_OK:文件是否存在
返回值:若测试成功则返回0,否则返回-1

 

四、实际测试

   1、测试c代码

#include
#include
#include
/*
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、编译执行

C语言:access函数的使用_第1张图片

你可能感兴趣的:(C和C++语言)