access函数

功能描述: 
检查调用进程是否可以对指定的文件执行某种操作。 
  
用法:

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

参数: 
pathname: 需要测试的文件路径名。   
mode: 需要测试的操作模式,

可能值是一个或多个R_OK(可读?), W_OK(可写?), X_OK(可执行?) 或 F_OK(文件存在?)组合体。 
  
返回说明: 
成功执行时,返回0。失败返回-1,errno被设为以下的某个值 
EINVAL: 模式值无效   
EACCES: 文件或路径名中包含的目录不可访问 
ELOOP : 解释路径名过程中存在太多的符号连接 
ENAMETOOLONG:路径名太长 
ENOENT:  路径名中的目录不存在或是无效的符号连接 
ENOTDIR: 路径名中当作目录的组件并非目录 
EROFS: 文件系统只读 
EFAULT: 路径名指向可访问的空间外 
EIO:  输入输出错误 
ENOMEM: 不能获取足够的内核内存 
ETXTBSY:对程序写入出错

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h> int main()
{
if((access("test.c",F_OK))!=-)
{
printf("文件 test.c 存在.\n");
}
else
{
printf("test.c 不存在!\n");
} if(access("test.c",R_OK)!=-)
{
printf("test.c 有可读权限\n");
}
else
{
printf("test.c 不可读.\n");
} if(access("test.c",W_OK)!=-)
{
printf("test.c 有可写权限\n");
}
else
{
printf("test.c 不可写.\n");
}
if(access("test.c",X_OK)!=-)
{
printf("test.c 有可执行权限\n");
}
else
{
printf("test.c 不可执行.\n");
} return ;
}

最新文章

  1. ZOJ Problem Set - 1402 Magnificent Meatballs
  2. myaudio.duration为null的解决办法
  3. OPENGGL深度测试
  4. Moebius实现Sqlserver集群~介绍篇
  5. RequiredFieldValidator验证下拉列表框
  6. 关于Python网络爬虫实战笔记①
  7. es5 数组
  8. CDN技术详解及实现原理
  9. C# Async/await 异步多线程编程
  10. Cypher查询语言--Neo4j 入门 (一)
  11. 【Luogu3457】POW-The Flood(并查集)
  12. 基于协程的Python网络库gevent
  13. PHP开发中Redis安装(CentOS6.5)
  14. Python的一个解释凯撒密码的程序
  15. HTML中鼠标滚轮事件onmousewheel
  16. SQL笔试基础
  17. 在ASP.NET Web Forms中用System.Web.Optimization取代SquishIt
  18. vs2008 FileUpload 上传控件 Gridview传多个值
  19. python 结构化数据解析
  20. UVA 400 (13.08.05)

热门文章

  1. jQuery选择器和选取方法.RP
  2. 【Arcgis for android】Error inflating class com.esri.android.map.MapView【已解决】
  3. ubuntu - 14.04,安装VirtualBox 5.0(虚拟机软件)!
  4. Codeforces Global Round 1D(DP,思维)
  5. IDEA 基本操作
  6. CSS3圆角圆边 支持IE6-IE8浏览器
  7. 安装maven时遇到的问题
  8. idea 新建maven项目没有src及其子目录问题
  9. 设置linux服务器文件夹权限
  10. POJ 1000 A+B