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

参数:

pathname 是文件的路径名+文件名

mode:指定access的作用,取值如下

F_OK 判断文件是否存在X_OK 判断对文件是可执行权限W_OK 判断对文件是否有写权限R_OK 判断对文件是否有读权限注意:后三种可以使用或“|”的方式,一起使用如 W_OK | R_OK

返回值:成功返回0,失败返回-1

#include <unistd.h>
#include <stdio.h>
int main()
{int ret=access("test",F_OK);if(ret==0){printf("文件存在\n");}if(ret==-1){printf("文件不存在\n");}return 0;
}

当我在当前目录下创建一个test文件时,编译gcc  access.c  -o ace时,编译成功,然后输入命令./ace,显示“文件存在”。当我把test文件删除后,再次执行./ace时,显示“文件不存在”。

测试文件是否可读

  1 #include <unistd.h>2 #include <stdio.h>3 int main()4 {5         int ret=access("test",R_OK);6         if(ret==0)7         {8                 printf("文件可读\n");9         }10         else if(ret==-1)11         {12                 printf("文件不存在\n");13         }1415         return 0;16 }

结果输出为:

测试文件是否可读可写

  1 #include <unistd.h>2 #include <stdio.h>3 int main()4 {5         int ret=access("test",R_OK | W_OK);6         if(ret==0)7         {8                 printf("文件可读可写\n");9         }10         else if(ret==-1)11         {12                 printf("文件不存在\n");13         }1415         return 0;16 }

测试输出结果

不错,今天又学会一个函数的运用。

终于把Linux中的access搞懂了 (内附C语言测试代码)相关推荐

  1. Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)

    MD5和RSA是网络传输中最常用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了.但这两种算法使用环境有差异,刚好互补. 一.MD5算法 首先MD5是不可逆的,只能加密而不能解密.比如明 ...

  2. c语言中如何用字母代替加减乘除的符号,c语言加减乘除代码

    c语言加减乘除代码 加减乘除是常见的数学运算,C语言当然支持,不过,C语言中的运算符号与数学中的略有不同,请见下表.加法减法乘法除法求余数(取余) 数学+-×÷无 C语言+-*/% C语言中的加号.减 ...

  3. c语言一个数中是否含有8,要心中有“数”——C语言初学者代码中的常见错误与瑕疵(8)...

    在 飞鸟_Asuka网友指出"是不是时间复杂度比较大",并说他"第一眼看到我就想把它当成一个数学问题来做"之后,我又重新对问题进行了数学式的思考后发现的. 这个 ...

  4. 摸了好久,终于把linux中i2c的ioctl,write,read函数的使用弄懂了

    ioctl函数的使用: 原型:struct ioctl(struct file *file,unsigned int cmd,unsigned long arg);  cmd有I2C_SLAVE,I2 ...

  5. verilog中一文搞懂有限状态机(FSM)Mealy和Moore状态机(及一段式,二段式,三段式)

    三段式 1.什么是有限状态机 2.Mealy 状态机 2.Moore FSM 3.Mealy 和 Moore的区别 4.Encoding 风格 设计原则 5. 一段式状态机 6. 二段式状态机 控制c ...

  6. linux中read函数读取文件夹内文件,linux下read函数

    read函数是Linux下不带缓存的文件I/O操作函数之一,所谓的不带缓存是指一个函数只调用系统中的一个函数.另外还有open.write.lseek.close,它们虽然不是ANSI C的组成部分, ...

  7. 一文搞懂Ajax,附Ajax面试题

    文章目录 前言 正文 Ajax是什么东西? 实现核心/工作原理:XMLHttpRequest对象 XMLHttpRequest大致用法 创建XMLHttpRequest对象 发送请求 服务器响应 1. ...

  8. 一篇彻底搞懂jsp内置对象

    jsp提供了9个内置对象,该对象会自动进行实例化操作 4种属性范围 page 只在一个保存属性,跳转无效 request 一次请求保存属性,跳转依旧有效 session 同一会话有效 applicat ...

  9. vue、cnpm不是内部文件_UBoot链接文件 搞懂程序内部长什么样

    对于一个程序而言,他们内部的结构.组成通常是不可见的,但是不可见并不意味着其内部是杂乱无章的排布,仅仅是众多的二进制数据拼凑而成.一份源代码生成最终的可执行文件来驱动我们的机器正常工作,中间必经的两个 ...

最新文章

  1. Forefront for OCS2007之部署
  2. 详细介绍Intel SGX开发环境搭建和Hello Enclave程序运行
  3. 一个 js 中值传递和引用传递的坑。
  4. 【Android Fragment】解决Fragment多层嵌套时onActivityResult无法正确回调的问题
  5. 3.1Python数据处理篇之Numpy系列(一)---ndarray对象的属性与numpy的数据类型
  6. 杭电2103---Family planning
  7. java 命令 native2ascii_Java用native2ascii命令做unicode编码转换
  8. PLC 有哪几种常用编程语言
  9. 项目合同管理 试题分析
  10. layer进度条ajax,layui动态进度条详细。
  11. Cocos2d-x 学习笔记(11.1) MoveBy MoveTo
  12. 你知道判断高防抗ddos的能力吗?
  13. vmm_xactor
  14. html5 自动扣图,js+html5 canvas实现ps钢笔抠图
  15. RISC-V MCU 隧道微振动监测系统
  16. 女性灵活就业人员年满50周岁,社保未满15年,自动到55岁退休吗?
  17. 人生的两个方向:一个是出门,一个是回家(转载)
  18. 摆平中文搜索引擎的分词错误(转)
  19. 嵌入式学习:Cortex-M系列芯片介绍
  20. python中struct time_python工具模块介绍-time 时间访问和转换!

热门文章

  1. HTTP状态码405
  2. html图片自动收起代码,HTML代码实现点击图片显示/隐藏
  3. 比赛和学习须要,開始网联网方向,非常多都不懂,希望自己一步一个脚印,坚持不懈的走下去...
  4. 聚合数据Android SDK 12306火车票查询订票演示示例
  5. 基于JAVA学生请假管理系统计算机毕业设计源码+系统+lw文档+部署
  6. thinkphp简介与优势。
  7. 佐罗zorrogo服务器关闭,个别手机用不了更换新源即可正常恢复使用备份数据不变
  8. laravel中使用阿里云视频点播遇到的坑解决思路
  9. java能长高吗_怎样可以让青少年长高?
  10. 树莓派设备喷墨打印机定时打印