华清远见培训教材
QQ:313638714 《嵌入式 Linux 应用程序开发详解》——第 6 章,文件 IO 编程 http://shop.embedu.cn
系统命令
系统调用 内核空间
用户编程接口 API
用户空间
图 6.1 系统调用,API 及系统命令之间的关系
6.2
Linux 中文件及文件描述符概述
正如第 1 章中所述,在 Linux 中对目录和设备的操作都等同于文件的操作,因此,大大 简化了系统对不同设备的处理,提高了效率.Linux 中的文件主要分为 4 种:普通文件,目 录文件,链接文件和设备文件. 那么,内核如何区分和引用特定的文件呢 这里用到的就是一个重要的概念——文件描 述符.对于 Linux 而言,所有对设备和文件的操作都使用文件描述符来进行的.文件描述符 是一个非负的整数,它是一个索引值,并指向内核中每个进程打开文件的记录表.当打开一 个现存文件或创建一个新文件时,内核就向进程返回一个文件描述符;当需要读写文件时, 也需要把文件描述符作为参数传递给相应的函数. 通常,一个进程启动时,都会打开 3 个文件:标准输入,标准输出和标准出错处理.这 3 个文件分别对应文件描述符为 0, 和 2 也就是宏替换 STDIN_FILENO, 1 ( STDOUT_FILENO 和 STDERR_FILENO,鼓励读者使用这些宏替换) . 基于文件描述符的 I/O 操作虽然不能移植到类 Linux 以外的系统上去(如 Windows) ,但它 往往是实现某些 I/O 操作的惟一途径,如 Linux 中低级文件操作函数,多路 I/O,TCP/IP 套接字 编程接口等.同时,它们也很好地兼容 POSIX 标准,因此,可以很方便地移植到任何 POSIX 平 台上.基于文件描述符的 I/O 操作是 Linux 中最常用的操作之一,希望读者能够很好地掌握.
6.3
不带缓存的文件 I/O 操作
本节主要介绍不带缓存的文件 I/O 操作,主要用到 5 个函数:open,read,write,lseek 和 close.这里的不带缓存是指每一个函数都只调用系统中的一个函数.这些函数虽然不是
华清远见培训教材
华清远见——嵌入式培训专家
http://www.farsight.com.cn
QQ:313638714 http://shop.embedu.cn
ANSI C 的组成部分,但是是 POSIX 的组成部分.
6.3.1
open 和 close
(1)open 和 close 函数说明 open 函数是用于打开或创建文件, 在打开或创建文件时可以指定文件的属性及用户的权 限等各种参数. close 函数是用于关闭一个打开文件.当一个进程终止时,它所有已打开的文件都由内核 自动关闭,很多程序都使用这一功能而不显示地关闭一个文件. (2)open 和 close 函数格式 open 函数的语法格式如表 6.1 所示.
表 6.1 所需头文件 open 函数语法要点 #include // 提供类型 pid_t 的定义 #include #include 续表 函数原型 int open(const char *pathname,flags,int perms) pathname 被打开的文件名(可包括路径名) O_RDONLY:只读方式打开文件 O_WRONLY:可写方式打开文件 O_RDWR:读写方式打开文件 O_CREAT:如果该文件不存在,就创建一个新的文件,并用第三个参 数为其设置权限 函数传入值 flag:文件 打开的方 式 O_EXCL:如果使用 O_CREAT 时文件存在,则可返回错误消息.这一 参数可测试文件是否存在 O_NOCTTY:使用本参数时,如文件为终端,那么终端不可以作为调 用 open()系统调用的那个进程的控制终端 O_TRUNC:如文件已经存在,并且以只读或只写成功打开,那么会先 全部删除文件中原有数据 O+APPEND:以添加方式打开文件,在打开文件的同时,文件指针指 向文件的末尾 perms 函数返回值 被打开文件的存取权限,为 8 进制表示法
成功:返回文件描述符 失败:1
在 open 函数中,flag 参数可通过"|"组合构成,但前 3 个函数不能相互组合.perms 是 文件的存取权限,采用 8 进制表示法,相关内容读者可参见第 2 章. close 函数的语法格式如下表 6.2 所示.
- qq管理专家6.6下载 > 华清远见嵌入式培训专家
-
华清远见嵌入式培训专家
下载该文档 文档格式:PDF 更新时间:2008-06-02 下载次数:0 点击次数:1文档基本属性 文档语言: 文档格式: pdf 文档作者: 1 关键词: 主题: 备注: 点击这里显示更多文档属性 经理: 单位: 1 分类: 创建时间: 2003-07-10 07:33:30 上次保存者: 修订次数: 编辑时间: 文档创建者: 修订: 加密标识: 幻灯片: 段落数: 字节数: 备注: 演示格式: 上次保存时间:
- 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
- PDF格式下载
- 更多文档...
-
上一篇:五台山美食_五台山特色美食攻略_五台山购物美食攻略 - 悠哉旅游网
下一篇:系统集成项目管理工程师考试大纲,学习建议,考 点及题型
点击查看更多关于qq管理专家6.6下载的相关文档
- 您可能感兴趣的
- qq电脑管理专家下载 qq管理专家下载 qq管理专家免费下载 qq软件管理专家下载 最新qq管理专家下载 qq管理专家官方下载 qq安全管理专家下载 qq管理专家下载安装 qq管理专家
- 大家在找
-
- · 西安车展2011
- · 大专统计学考试题
- · 山西省工程计价依据
- · 突发公共事件
- · 体积最大鹿
- · 酒店实习心得体会
- · 成都水电技工学校
- · 微型计算机原理试题
- · 西安人才网58同城
- · proteus软件官方下载
- · 新概念英语第二册新版
- · 2011成考高数二
- · 机甲兽神第2部全集30
- · 变形金刚1
- · tv360网络电视直播
- · 三星杯围棋
- · 图书借阅管理系统
- · 商务英语谈判技巧论文
- · 三相交流电课件
- · 汇丰商学院
- · 电路理论试题
- · 上海大学bbs
- · 21世纪大学实用英语综合教程第三册课文翻译
- · 英语国家概况ppt课件
- · 队和栈的主要区别是
- · 2011贵州高职补报院校
- · 分解质因式
- · 国三柴油共轨单体泵
- · 输尿管下段结石的治疗
- · 驾校一点通甘肃题库
- 赞助商链接