终于把Linux中的access搞懂了 (内附C语言测试代码)
#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语言测试代码)相关推荐
- Android网络传输中必用的两个加密算法:MD5 和 RSA (附java完成测试代码)
MD5和RSA是网络传输中最常用的两个算法,了解这两个算法原理后就能大致知道加密是怎么一回事了.但这两种算法使用环境有差异,刚好互补. 一.MD5算法 首先MD5是不可逆的,只能加密而不能解密.比如明 ...
- c语言中如何用字母代替加减乘除的符号,c语言加减乘除代码
c语言加减乘除代码 加减乘除是常见的数学运算,C语言当然支持,不过,C语言中的运算符号与数学中的略有不同,请见下表.加法减法乘法除法求余数(取余) 数学+-×÷无 C语言+-*/% C语言中的加号.减 ...
- c语言一个数中是否含有8,要心中有“数”——C语言初学者代码中的常见错误与瑕疵(8)...
在 飞鸟_Asuka网友指出"是不是时间复杂度比较大",并说他"第一眼看到我就想把它当成一个数学问题来做"之后,我又重新对问题进行了数学式的思考后发现的. 这个 ...
- 摸了好久,终于把linux中i2c的ioctl,write,read函数的使用弄懂了
ioctl函数的使用: 原型:struct ioctl(struct file *file,unsigned int cmd,unsigned long arg); cmd有I2C_SLAVE,I2 ...
- verilog中一文搞懂有限状态机(FSM)Mealy和Moore状态机(及一段式,二段式,三段式)
三段式 1.什么是有限状态机 2.Mealy 状态机 2.Moore FSM 3.Mealy 和 Moore的区别 4.Encoding 风格 设计原则 5. 一段式状态机 6. 二段式状态机 控制c ...
- linux中read函数读取文件夹内文件,linux下read函数
read函数是Linux下不带缓存的文件I/O操作函数之一,所谓的不带缓存是指一个函数只调用系统中的一个函数.另外还有open.write.lseek.close,它们虽然不是ANSI C的组成部分, ...
- 一文搞懂Ajax,附Ajax面试题
文章目录 前言 正文 Ajax是什么东西? 实现核心/工作原理:XMLHttpRequest对象 XMLHttpRequest大致用法 创建XMLHttpRequest对象 发送请求 服务器响应 1. ...
- 一篇彻底搞懂jsp内置对象
jsp提供了9个内置对象,该对象会自动进行实例化操作 4种属性范围 page 只在一个保存属性,跳转无效 request 一次请求保存属性,跳转依旧有效 session 同一会话有效 applicat ...
- vue、cnpm不是内部文件_UBoot链接文件 搞懂程序内部长什么样
对于一个程序而言,他们内部的结构.组成通常是不可见的,但是不可见并不意味着其内部是杂乱无章的排布,仅仅是众多的二进制数据拼凑而成.一份源代码生成最终的可执行文件来驱动我们的机器正常工作,中间必经的两个 ...
最新文章
- Forefront for OCS2007之部署
- 详细介绍Intel SGX开发环境搭建和Hello Enclave程序运行
- 一个 js 中值传递和引用传递的坑。
- 【Android Fragment】解决Fragment多层嵌套时onActivityResult无法正确回调的问题
- 3.1Python数据处理篇之Numpy系列(一)---ndarray对象的属性与numpy的数据类型
- 杭电2103---Family planning
- java 命令 native2ascii_Java用native2ascii命令做unicode编码转换
- PLC 有哪几种常用编程语言
- 项目合同管理 试题分析
- layer进度条ajax,layui动态进度条详细。
- Cocos2d-x 学习笔记(11.1) MoveBy MoveTo
- 你知道判断高防抗ddos的能力吗?
- vmm_xactor
- html5 自动扣图,js+html5 canvas实现ps钢笔抠图
- RISC-V MCU 隧道微振动监测系统
- 女性灵活就业人员年满50周岁,社保未满15年,自动到55岁退休吗?
- 人生的两个方向:一个是出门,一个是回家(转载)
- 摆平中文搜索引擎的分词错误(转)
- 嵌入式学习:Cortex-M系列芯片介绍
- python中struct time_python工具模块介绍-time 时间访问和转换!
热门文章
- HTTP状态码405
- html图片自动收起代码,HTML代码实现点击图片显示/隐藏
- 比赛和学习须要,開始网联网方向,非常多都不懂,希望自己一步一个脚印,坚持不懈的走下去...
- 聚合数据Android SDK 12306火车票查询订票演示示例
- 基于JAVA学生请假管理系统计算机毕业设计源码+系统+lw文档+部署
- thinkphp简介与优势。
- 佐罗zorrogo服务器关闭,个别手机用不了更换新源即可正常恢复使用备份数据不变
- laravel中使用阿里云视频点播遇到的坑解决思路
- java能长高吗_怎样可以让青少年长高?
- 树莓派设备喷墨打印机定时打印