嵌入式Linux C语言开发第5章 嵌入式Linux文件操作.ppt

嵌入式Linux C语言开发第5章 嵌入式Linux文件操作.ppt

  1. 1、本文档共89页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.2.2 标准I/O 标准I/O又称为高级磁盘I/O,是在文件I/O的基础上进行了封装。提供流缓冲的目的是尽可能减少使用read和write调用的次数,提高I/O效率。标准I/O提供了3种类型的缓冲类型。 ? 全缓冲 ? 行缓冲 ? 不带缓冲 5.2.2 标准I/O 文件指针 标准I/O为每个被使用的文件在内存中开辟一个区域,用来存放文件的相关信息。这些信息被保存在一个由系统定义的结构体类型FILE中。在标准I/O中,流(stream)用FILE *来描述,所有的操作都是围绕流来进行的。FILE的具体定义如下: in stdio.h typedef struct _IO_FILE FILE in libio.h struct _IO_FILE { int _flags; …… int _fileno; …… } FILE中的成员_fileno保存的就是流所对应的文件描述符。标准I/O库中预定义了3个流:标准输入(stdin)、标准输出(stdout)和标准错误(stderr) 。 5.2.2 标准I/O 打开文件 (1)函数说明 打开文件有3个标准函数,分别为:fopen、fdopen和freopen。它们以不同的模式打开文件,都返回一个指向FILE的指针。该指针已经和对应的I/O流进行了绑定。此后,对文件的读写都是通过这个FILE指针来进行。 其中fopen可以指定打开文件的路径和模式;fdopen可以指定打开的文件描述符和模式,而freopen除可指定打开的文件、模式外,还可指定特定的I/O流。 5.2.2 标准I/O 打开文件 (2)函数格式定义 fopen函数格式如下所示。 ? 头文件 #include stdio.h ? 函数原型 FILE * fopen(const char * path, /*包含要打开的文件路径及文件名*/ const char * mode); /*文件打开方式*/ FILE * fdopen(int fd, /*要打开的文件描述符*/ const char * mode); /*文件打开方式*/ FILE * freopen(const char *path, /*包含要打开的文件路径及文件名*/ const char * mode, /*文件打开方式*/ FILE * stream); /*已打开的文件指针*/ 这里的mode类似于open中的flag,可以定义打开文件的具体权限等,表5.8列举了fopen中mode的各种取值。 5.2.2 标准I/O 打开文件 (2)函数格式定义(mode取值说明) r或rb 打开只读文件,该文件必须存在 r+或r+b 打开可读写的文件,该文件必须存在 w或wb 打开只写文件,若文件存在则文件长度清为0,即会擦写文件以前内容;若文件不存在则建立该文件 w+或w+b 打开可读写文件,若文件存在则文件长度清为0,即会擦写文件以前内容;若文件不存在则建立该文件 a或ab 以附加的方式打开只写文件。若文件不存在,则会建立该文件。如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留 a+或a+b 以附加方式打开可读写的文件。若文件不存在,则会建立该文件。如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留 ? 函数返回值 成功:指向FILE的指针 失败:NULL 5.2.2 标准I/O 关闭文件 (1)函数说明 关闭标准流文件的函数为fclose,这时缓冲区内的数据写入文件中,并释放系统所提供的资源。 (2)函数格式说明 fclose函数格式如下所示。 ? 头文件 #include stdio.h ? 函数原型 int fclose(FILE * stream); /*已打开的文件指针*/ ? 函数返回值 成功:0 失败:EOF (3)函数调用实例 fclose函数调用非常简单,只需传入fopen函数返回的文件指针即可,如下所示: fclose(fp); 5.2.2 标准I/O 按字符读/写文件 一次读取或写入一个字符,如果流是带缓存的,由I/O函数来处理缓存。 (1)函数说明 在文件打开之后,可对文件流进行读写等操作。其中读文件的函数为fgetc/getc/getchar,写文件的函数为fputc/putc/putchar。 (2)函数格式 ? 头文件 #include

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档