C语言:access函数的使用

编程知识 更新时间:2023-04-06 10:26:09

 

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

更多推荐

C语言:access函数的使用

本文发布于:2023-04-06 10:26:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/2f48d5c1aa6495087a123f2af0e499ec.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:函数   语言   access

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 49049文章数
  • 14阅读数
  • 0评论数