功能: 确定文件的访问权限

用法: 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高级编程(文件操作)相关推荐

  1. Linux操作系统使用及C高级编程

    Day1:Linux介绍及环境配置 1.什么是unix  Unix是一种多用户.多任务.开放的.可移植的操作系统,Unix操作系统的特点包括:分时操作.多用户.多任务.多处理器.网络支持.可移植性等, ...

  2. 《嵌入式Linux驱动开发教程》--高级I/O操作

    高级I/O操作 1.ioctl设备操作 2.proc文件系统 3.非阻塞式IO 4.阻塞式IO 5. IO多路复用 6.异步IO 7.异步通知(信号驱动IO模型) 8.相关代码 8.1非阻塞式IO用户 ...

  3. java高级编程期末考试题_java高级编程考题

    Java高级课程测试 1在进行swing开发时,经常用的布局管理器有那几种?(5) 2Gui组件,容器,框架,到底有怎样的关系,请举例说明?(5) 3在进行swing开发中会用到事件处理,那事件处理的 ...

  4. c语言高级编程培训,C语言高级编程

    Q:如何提问,能得到快速的解答? A: 1)标题:撰写标题时,要注意把要问的问题的出处和核心词写出来,最好用[]标出来,比如[第1周编程题在线测试的第1题]求解. 2)内容:内容上要把你不懂的地方说出 ...

  5. java高级编程与普通_Java高级编程

    1. Java是什么样的语言? 答:Java语言是一门用途广泛的.面向对象的语言.Java语言可以编写桌面应用.手机应用及企业应用.Java简洁优雅,易于学习. 2. 没有学过编程,能学吗? 答:本课 ...

  6. java高级编程笔试题_JAVA 高级编程笔试题

    <使用Java实现面向对象编程>阶段测试-笔试试卷 一.选择题(共25题,每题4分,满分100分) 1)下列选项中关于Java中ArrayList.LinkedList.HashMap三个 ...

  7. python编程常用类型_Python 高级编程系列__03:python 中常见的内置类型

    python 中,对象有三个特征:身份.特征.值. 身份:可以理解为对象在内存中的地址.可以用 id 来查看对象的地址. >>> a=3 >>> id(a) 432 ...

  8. linux文件控制驱动程序,Linux设备驱动程序学习(6)-高级字符驱动程序操作[(3)设备文件的访问控制]...

    Linux设备驱动程序学习(6) -高级字符驱动程序操作[(3)设备文件的访问控制] 提供访问控制对于一个设备节点来的可靠性来说有时是至关重要的.这部分的内容只是在open和release方法上做些修 ...

  9. 5w字总结 Unix系统编程学习笔记(面试向)(Unix环境高级编程/Unix环境程序设计)

    文章目录 一.计算 C语言的数据表示与处理 计算 C语言的基本运算操作 内存表和符号表 类型转换 函数类型的分析 指令 复合指令 句法 函数 函数激活(Activation Record) 函数激活定 ...

  10. C++高级编程资料汇总(参考手册+电子书+编程思想+算法分析) ...

    整理C++高级编程方面的资料,有参考手册,有高级教程电子书,有范例分析,有算法分析,欢迎大家下载~ C++沉思录 http://down.51cto.com/data/423064 C++ 高级参考手 ...

最新文章

  1. InstallShield 2011中数字签名失败的问题
  2. c语言 python-C语言和python的区别
  3. sqoop动态分区导入mysql,sqoop 导入数据到hive分区表(外表,内表) 指定分区 指定数据库 指定表...
  4. 前端技术之_CSS详解第五天
  5. 容器编排技术 -- Kubernetes kubectl create secret generic 命令详解
  6. 在线GIF图片帧拆分工具
  7. mounted钩子函数_怎样实现Vue中mounted钩子函数获取节点高度
  8. 使用大数据分析需要注意什么因素
  9. 最新30套Java项目实战
  10. Win10(Win7)安装医学Mimics16.0和Mimics19软件安装教程
  11. ESP分区引导文件修复bcdboot .exe
  12. 高交会|华创芯光邀您一起畅游可见光通信的世界
  13. 常用音频接口简介(PDM/PCM/IIS/SLIMBUS)
  14. 移动端购房工具--汇率计算的实现
  15. 多目标规划问题的解法
  16. nvm介绍、nvm下载、安装与使用
  17. WebGL技术学习之路
  18. 虚拟机-问题-Ubuntu安装VMware Tools
  19. 类中无错误显示,但类名出线红色波浪线
  20. JNI和NKD入门系列二,mac环境下配置NDk,并在android studio上进行JNI开发

热门文章

  1. 如何监测mysql主从复制状态_如何实时检测mysql主从状态,并做邮件告警?
  2. 【Elasticsearch】我们如何将 100 秒的 elasticsearch 查询优化为不到一秒。
  3. Elasticsearch】es memory locking requested for process but memory is not locked
  4. 【elasticsearch】elasticsearch 批量查询之mget
  5. alibaba fastJson框架快速解析复杂有重复性质的json
  6. 【Flink】Flink时间是如何设计的
  7. Java web 中的 三层架构
  8. PacVim:一个学习vim命令的游戏,再也不怕记不住了!
  9. List集合的去重问题
  10. 由ExecutorService及Callable実现有返回值的线程