C语言与程序设计第10章文件的输入与输出.ppt

C语言与程序设计第10章文件的输入与输出.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
华中科技大学计算机学院C语言课程组 C语言与程序设计 The C Programming Language 第10章 文件的输入与输出 文件是指在内存以外介质上以某种形式组织起来的数据集合或设备。 可以通过文件名来存取其中的数据。 本章介绍文件的相关概念、C程序输入输出的实现方法、流的概念和流式文件的输入和输出; 包括FILE结构类型,流式文件的打开、读写及关闭等操作。 介绍了文本文件的输入输出和二进制文件的输入输出,文件的顺序输入输出和文件的随机输入输出。 对输入输出的底层接口,文件在数据库、汉字显示方面的应用也做了相应的介绍。 10.1 文件概述 文件分类 文件按照数据格式分为文本文件和二进制文件两类。 文本文件是由字符的ASCII码组成的数据文件。 二进制文件则是完全按照数据对象在内存中存储时的格式组成的数据文件。 文本文件可以在文本编辑环境下(如TC、VC的编辑环境、写字板、记事本,甚至如本书例8-34 简单的行文本编辑器)创建,阅读,编辑,修改;也可以从键盘终端输入,由显示终端或打印机输出。 二进制文件则不能通过文本编辑器创建、阅读、修改,只能通过程序创建、阅读、修改;也不能从键盘终端输入或由显示终端、打印机输出。 2.文本文件 在文本文件中,单个字符的ASCII码是文本文件数据的基本组成单位。 对文本文件的操作可以是: 1.单个字符的输入和输出; 2.字符串的输入和输出; 3.格式化的输入和输出。 无论采用什么方式对文本文件进行输入输出操作,数据都将按照写入文件的先后顺序以ASCII码形式存放。 存储时字符串后面的’\0’以及文本行后面的换行符’\n’都被忽略。两个输入行之间插入0x0D(回车符)、0x0A(换行符)。 解释p220 例10.1 (用c:\copy con abc.dat命令产生,) 例10.1 文本文件的存储示例。 用c:\copy con abc.dat命令产生 abc def↙ 123456↙ ^Z↙ 表10.1 文本存放形式和顺序 3.二进制文件 在二进制文件中,每个字节都是对应数据在内存中存放时的表现形式,不同数据有不同的存储长度,不同的存储格式。 因此,在读写二进制文件文件时一定要注意读写数据的格式; 例如,读出的整型数据一定要赋给整型变量, 读出的字符型数据一定要赋给字符型变量, 读出的浮点型数据一定要赋给浮点型变量,等等。 例10.2 二进制文件的存储示例。 设128,a,8.5f,8.5四个数据依次为短整型、字符型、浮点型和双精度型,并将它们依次写入到一个二进制文件中,则它们在文件中的存储形式(十六进制)和顺序如表10.2所示。 表10.2 二进制文件的存储形式和顺序 10.1.4 文件的读写方式 C对文件的读写方式:有顺序读写和随机读写两种。 文件的顺序读写:每次打开文件时文件读写指针都指向文件的起始位置,读写操作必须从文件的起始位置开始;并且每次读写数据后读写指针会自动指向下一个数据, 适合对文件中的所有数据进行逐一处理。 文件的随机读写:对文件进行读写操作时可以先通过计算,调用相关函数将读写指针快速的移动到指定的位置,再进行读写操作。 特别适合只需要对文件中间的某些数据进行读写操作的场合。最典型的应用就是对汉字库文件的读操作。 10.1.5 C程序输入与输出的实现方法 C程序输入输出的实现方法有两种: 一是通过调用编译系统提供的关于输入输出的标准库函数来实现; 另外一种就是直接调用操作系统提供有关文件操作的底层I/O接口函数来实现。 前者称为C的标准I/O,后者称为C的底层I/O。 C的标准I/O由标准C规定。如C语言标准ISO/IEC 9899:1999 (E)中第7章Library)中Input/output一节,就定义了流、文件的概念,规定了对文件的操作,以及从文件访问、格式化的输入/输出、字符输入/输出、直接输入/输出、读写指针操作、出错处理六个方面精确的给出各个函数的原型和操作语义的定义。 任何C编译系统都支持C的标准I/O,都会提供标准规定的各种输入输出的库函数。使用这些函数进行文件的I/O操作,可以使程序具有良好的可移植性。 基于流(stream)的输入输出 C的标准I/O是一种基于流(stream)的输入输出。流是一种抽象或映射。 C将各种输入输出的终端设备,磁带机,或者各种类型的磁盘等都统一的映射成为C的逻辑层面的(数据)流。 程序员只需要按照标准I/O提供的库函数对流进行I/O操作,就可以完成数据的输入输出。至于流中的数据是如何到硬盘、终端、打印机、串行口等则由编译系统和设备驱动程序完成,与程序员无关。 因此,流的概念的引入和针对流操作的库函数的提供,使程序员从原本繁重的,需要在物理层面进行的I/O操作

文档评论(0)

autohhh + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档