- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
12C语言课件第八章
2000年1月25日 研究式学习-C程序设计(第八章) 第八章 文件 文件概述 文件的定义 文件:存储在外部介质上(如磁盘和磁带等外存储器)数据或信息的集合。 例如:程序文件中保存着程序,而数据文件中保存着数据。 C语言的源程序 文本文件 目标文件 二进制文件 可执行文件 二进制文件 文件的性质 文件是一个有序的数据序列。文件的所有数据之间有着严格的排列次序的关系(类似数组类型的数据),要访问文件中的数据,必须按照它们的排列顺序,依次进行访问。 文件概述 系统对文件的处理过程 系统对文件的处理过程就是对文件进行输入/输出操作的过程。 文件输入/输出的一般过程: 文件概述 文件的分类 ◆ 从文件数据的组织形式看 数据的组织形式是指数据在磁盘上是以什么格式存储。 从这个角度看,文件分为两类: 。ASCII文件(或称文本文件,即TEXT文件) 。二进制文件 文本文件中保存的数据,采用ASCII码格式存储,将全部数据转换为ASCII码形式。每个ASCII字符占用1个字节。 ASCII文件在DOS操作系统下可以直接阅读。 二进制文件中保存的数据,是将数据在内存中二进制存储格式不做任何转换,直接存入文件中。 二进制文件在操作系统下不能直接阅读。 文件概述 两种文件组织形式 ◆ 例如:将整数1024分别存储到ASCII文件和二进制文件中,将采用不同的编码形式,占用不同字节长度。 文件概述 两个不同格式文件的比较 在ASCII文件中,每个字符是以ASCII码形式存储,方便了对字符的逐个处理,同时在操作系统下,可以直接识别。 缺点是占用磁盘存储空间多,并且系统要付出由二进制形式向 ASCII 转换的时间开销。 用二进制形式输出,可以节省磁盘空间和转换时间,但输出的数据因为是内存的格式,在操作系统下不能直接识别。 文件概述 文件的分类 ◆ 从用户使用的观点看,文件可分为两类: 。普通文件(亦称为磁盘文件) 。特殊文件(亦称为标准设备文件或标准I/O文件) 普通文件是以磁盘为对象且无其它特殊性能的文件。 特殊文件是以终端为对象的标准的设备文件。 在C语言中,“文件”的概念具有更广泛的意义,它把与每台主机相连的所有输入输出设备都看作是一个文件。即把实际的物理设备抽象为逻辑文件,它们也被称为设备文件。 例如:键 盘是输入文件stdin (标准输入文件) 显示器是输出文件stdout(标准输出文件) 打印机是输出文件PRN 文件概述 文件的分类 ◆ 从C语言对文件的处理方法看,可以将文件分为两类: 。缓冲文件系统 。非缓冲文件系统 缓冲文件系统:对每个正在使用的文件,系统自动在内存中为其开辟一个文件缓冲区。高级文件操作 非缓冲文件系统:系统不会自动开辟缓冲区,文件缓冲区是由程序自己设置的。低级文件操作 在83年以后ANSI C标准中取消了非缓冲文件系统,对文本文件和二进制文件均统一采用缓冲文件系统进行处理。 本课程学习 缓冲式文件操作方式下,对磁盘文件进行基本操作。 文件处理 文件指针 在缓冲文件系统中,对每个正在使用的文件都要说明并使用一个 FILE 类型的结构变量,该结构变量用于存放文件的有关信息,如文件名、文件状态等。 在C语言中,无论是一般磁盘文件还是设备文件,都要通过文件结构的数据集合进行输入输出处理。 文件结构不需要用户自己定义,是由系统事先已经定义好的,固定包含在头文件 stdio.h 中。用户可以直接使用。 文件处理-文件指针 文件指针 typedef struct { int _fd; /* 文件位置指针,即当前文件的读写位置 */ int _cleft; /* 文件缓冲区中剩余的字节数 */ int _mode; /* 文件操作模式 */ char * nextc; /* 用于文件读写的下一个字符位置 */ char * _buff; /* 文件缓冲区位置(指针) */ } FILE ; FILE是文件结构类型的类型名。 文件处理-文件指针 文件指针 文件结构在打开文件时由操作系统自动建立,用户使用文件时无需重复定义。文件结构中最重要的信息是:记录了文件读写操作时的位置指针。 在C程序中,凡是要对已打开的文件进行操作,都要通过指向该文件结构的指针。为此,需要在程序中说明指向文件结构的指针,即定义FILE型(文件型)的指针变量。 文件型指针变量说明形式 FILE * 文件型指针变量名; 例如: FILE * fp; /* fp 是一个指针变量 */ 文件处理-标准设备文件 系统标准
文档评论(0)