文件和目录:access函数

access函数是按照实际用户ID和实际组ID进行访问权限测试的:

#include <unistd.h>
int access( const char *pathname, int mode );

返回值:若成功则返回0,若出错则返回-1

mode是表下所列常量的按位或

access函数的mode常量,取自<unistd.h>

mode 说明
R_OK 测试读权限
W_OK 测试写权限
X_OK 测试执行权限
F_OK 测试文件是否存在

 

 

 

 

 

 

测试实例如下:

#include<fcntl.h>
#include "apue.h"

int main(int argc ,char *argv[])
{
  if (argc!=2)
    err_quit("usage: access <pathname>");
  if (access(argv[1],R_OK)<0)
    err_ret("access error for %s",argv[1]);
  else
    printf("read access OK\n");
  if (open(argv[1],O_RDONLY)<0)
    err_ret("open error for %s",argv[1]);
  else
    printf("open for reading OK\n");
  exit(0);

}

运行结果:

 

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。