• qq管理专家6.6下载 > 华清远见嵌入式培训专家
  • 华清远见嵌入式培训专家

    免费下载 下载该文档 文档格式:PDF   更新时间:2008-06-02   下载次数:0   点击次数:1
    文档基本属性
    文档语言:
    文档格式:pdf
    文档作者:1
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    华清远见培训教材
    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 所示.

    上一页下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 PDF格式下载
  • 您可能感兴趣的
  • qq电脑管理专家下载  qq管理专家下载  qq管理专家免费下载  qq软件管理专家下载  最新qq管理专家下载  qq管理专家官方下载  qq安全管理专家下载  qq管理专家下载安装  qq管理专家