Linux编程 文件操作,linux高级编程(文件操作)
功能: 确定文件的访问权限
用法: int access(const char *filename, int amode);
finename 文件名称mode 模式,共5种模式:
0-检查文件是否存在
1-检查文件是否可运行
2-检查文件是否可写访问
4-检查文件是否可读访问
6-检查文件是否可读/写访问
例:判断文件是否存在
int file_exists(char *filename){
return (access(filename, 0) == 0);
}
2)创建文件
int creat(char *pathname,mode_t mode);
pathname:要创建文件的路径文件名。可以使用绝对路径或相对路径。
mode: 新建文件的访问权限,同创建目录
使用时,可用或运算组合使用,如
S_IRUSR | SIWUSR
写可以使用数字,如
666
返回值:成功,返回文件描述符,失败-1
说明:
3)打开文件
int open(const char *pathname, int oflag,mode_t mode);
pathname: 设备或文件名
flags: 文件的打开方式,可以用位运算|组合
O_RDONL Y 只读
O_WRONL Y 只写
O_RDWR 读写模式
O_APPEND 追加模式
O_CREAT 创建文件
O_SYNC 同步。
O_NONBLOCK 非阻塞模式,默认为阻塞模式
O_EXCL 如果定义了O_CREAT,且文件已存在,则出错
O_TRUNC 如果文件存在,且以只读或指写方式打开,则截断文件mode: 可选参数,用于定义新建文件的访问权限,同creat函数
返回值:成功文件描述符失败-1
注:O_RDONL Y、O_WRONL Y、O_RDWR中只能选择一个,然后通过|运算和其它选项组合
O_EXCL与O_CREAT组合实现互斥,文件已存在的情况下,调用失败。
O_WRONL Y|O_CREAT|O_TRUNC组合,则与creat函数等价
Linux编程 文件操作,linux高级编程(文件操作)相关推荐
- Linux操作系统使用及C高级编程
Day1:Linux介绍及环境配置 1.什么是unix Unix是一种多用户.多任务.开放的.可移植的操作系统,Unix操作系统的特点包括:分时操作.多用户.多任务.多处理器.网络支持.可移植性等, ...
- 《嵌入式Linux驱动开发教程》--高级I/O操作
高级I/O操作 1.ioctl设备操作 2.proc文件系统 3.非阻塞式IO 4.阻塞式IO 5. IO多路复用 6.异步IO 7.异步通知(信号驱动IO模型) 8.相关代码 8.1非阻塞式IO用户 ...
- java高级编程期末考试题_java高级编程考题
Java高级课程测试 1在进行swing开发时,经常用的布局管理器有那几种?(5) 2Gui组件,容器,框架,到底有怎样的关系,请举例说明?(5) 3在进行swing开发中会用到事件处理,那事件处理的 ...
- c语言高级编程培训,C语言高级编程
Q:如何提问,能得到快速的解答? A: 1)标题:撰写标题时,要注意把要问的问题的出处和核心词写出来,最好用[]标出来,比如[第1周编程题在线测试的第1题]求解. 2)内容:内容上要把你不懂的地方说出 ...
- java高级编程与普通_Java高级编程
1. Java是什么样的语言? 答:Java语言是一门用途广泛的.面向对象的语言.Java语言可以编写桌面应用.手机应用及企业应用.Java简洁优雅,易于学习. 2. 没有学过编程,能学吗? 答:本课 ...
- java高级编程笔试题_JAVA 高级编程笔试题
<使用Java实现面向对象编程>阶段测试-笔试试卷 一.选择题(共25题,每题4分,满分100分) 1)下列选项中关于Java中ArrayList.LinkedList.HashMap三个 ...
- python编程常用类型_Python 高级编程系列__03:python 中常见的内置类型
python 中,对象有三个特征:身份.特征.值. 身份:可以理解为对象在内存中的地址.可以用 id 来查看对象的地址. >>> a=3 >>> id(a) 432 ...
- linux文件控制驱动程序,Linux设备驱动程序学习(6)-高级字符驱动程序操作[(3)设备文件的访问控制]...
Linux设备驱动程序学习(6) -高级字符驱动程序操作[(3)设备文件的访问控制] 提供访问控制对于一个设备节点来的可靠性来说有时是至关重要的.这部分的内容只是在open和release方法上做些修 ...
- 5w字总结 Unix系统编程学习笔记(面试向)(Unix环境高级编程/Unix环境程序设计)
文章目录 一.计算 C语言的数据表示与处理 计算 C语言的基本运算操作 内存表和符号表 类型转换 函数类型的分析 指令 复合指令 句法 函数 函数激活(Activation Record) 函数激活定 ...
- C++高级编程资料汇总(参考手册+电子书+编程思想+算法分析) ...
整理C++高级编程方面的资料,有参考手册,有高级教程电子书,有范例分析,有算法分析,欢迎大家下载~ C++沉思录 http://down.51cto.com/data/423064 C++ 高级参考手 ...
最新文章
- InstallShield 2011中数字签名失败的问题
- c语言 python-C语言和python的区别
- sqoop动态分区导入mysql,sqoop 导入数据到hive分区表(外表,内表) 指定分区 指定数据库 指定表...
- 前端技术之_CSS详解第五天
- 容器编排技术 -- Kubernetes kubectl create secret generic 命令详解
- 在线GIF图片帧拆分工具
- mounted钩子函数_怎样实现Vue中mounted钩子函数获取节点高度
- 使用大数据分析需要注意什么因素
- 最新30套Java项目实战
- Win10(Win7)安装医学Mimics16.0和Mimics19软件安装教程
- ESP分区引导文件修复bcdboot .exe
- 高交会|华创芯光邀您一起畅游可见光通信的世界
- 常用音频接口简介(PDM/PCM/IIS/SLIMBUS)
- 移动端购房工具--汇率计算的实现
- 多目标规划问题的解法
- nvm介绍、nvm下载、安装与使用
- WebGL技术学习之路
- 虚拟机-问题-Ubuntu安装VMware Tools
- 类中无错误显示,但类名出线红色波浪线
- JNI和NKD入门系列二,mac环境下配置NDk,并在android studio上进行JNI开发
热门文章
- 如何监测mysql主从复制状态_如何实时检测mysql主从状态,并做邮件告警?
- 【Elasticsearch】我们如何将 100 秒的 elasticsearch 查询优化为不到一秒。
- Elasticsearch】es memory locking requested for process but memory is not locked
- 【elasticsearch】elasticsearch 批量查询之mget
- alibaba fastJson框架快速解析复杂有重复性质的json
- 【Flink】Flink时间是如何设计的
- Java web 中的 三层架构
- PacVim:一个学习vim命令的游戏,再也不怕记不住了!
- List集合的去重问题
- 由ExecutorService及Callable実现有返回值的线程