C语言与程序设计教程 作者 胡元义 全书教案_ 第8章.pptVIP

C语言与程序设计教程 作者 胡元义 全书教案_ 第8章.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8.1 文件的概念   所谓文件,是指一组相关数据的有序集合。这个数据集合有一个名称,即文件名。实际上以前我们已多次使用过文件,例如源文件、目标文件、可执行文件、库文件(头文件)等。本章主要介绍C语言的数据文件。 8.1.1 文件的分类   文件通常是驻留在外部介质(如磁盘、U盘等)上的,在使用时才调入到内存中来。从用户角度看,文件可以分为普通文件和设备文件两种。普通文件是指驻留在磁盘或其他外部介质上的一个有序数据集合,可以是我们通常使用的源程序文件、目标文件、可执行文件,也可以是一组等待输入处理的原始数据,或者是一组等待输出的结果数据;对于源文件、目标文件、可执行文件可以称做程序文件,而用于输入或输出的数据则称做数据文件。   设备文件是指与主机相联的各种外部设备:如显示器、打印机、键盘等,即把实际的物理设备抽象为逻辑设备,通常把显示器定义为标准输出文件,如经常使用的printf、putchar函数就属于这类输出;而键盘通常被指定为标准输入文件,如scanf、getchar函数就属于这类输入。   使用文件的优点如下:   (1) 程序与数据分离:数据的改动不引起程序的改动。   (2) 数据共享:不同的程序可以访问同一个数据文件中的数据。   (3) 延长数据的生存周期:能够用文件长期保存程序运行的中间数据或结果数据。   在C语言中,文件被看做是字符(或字节)的序列,即文件是由一个个字符(或字节)按一定的顺序组成的,这个字符(或字节)序列称之为字节流。文件以字节为单位进行处理而且并不区分类型,这样能够增强数据处理的灵活性。输入/输出字节流的开始和结束只受程序的控制而不受字节流中的某个字符(如换行符?′\n′)的控制。通常也把这种文件称为流式文件。   根据数据存储方式的不同,C语言中的文件可分为文本文件和二进制文件两种类型。以ASCII码字符形式存储的文件称为文本文件(又称ASCII文件)。在文本文件中,每一个字节存放一个ASCII码字符。由于ASCII码这种字节与字符对应的方式,因而便于对字符进行逐个处理,也便于输出字符,但文本文件与二进制文件相比则需要占用更大的存储空间。在二进制文件中,数据是以二进制形式存储的,这种存储方式结构紧凑并能节省大量的存储空间。在二进制文件中,一个字节并不直接对应一个字符,它需要转换后才能以字符的方式输出。不过,计算机处理的数据都是二进制的。所以当从二进制文件中读取数据时,无需转换就可以直接将数据读入内存进行数据的运算和处理,从而提高了文件的处理速度。   例如在两种文件存储方式下,十进制数5678在内存中的存储示意见图8-1。   由图8-1可知,十进制数5678以ASCII码方式存储需要占用4个字节,而采用二进制方式存储则只需要占用2个字节。   注意,二进制文件虽然也可以在屏幕上显示,但由于不是以字符方式存储的,所以显示的内容将无法阅读。因为C语言在处理这些文件时并不区分类型,即都是看成字节流按字节进行处理的,所以才造成了二进制文件显示内容无法看懂。   从文件的读/写方式上来看,文件还可以分为顺序读/写文件和随机读/写文件两种。顺序读/写文件是指按文件从头到尾的顺序读出或写入数据,随机读/写文件则可以读/写文件中任意位置上的数据。 8.1.2 文件指针变量及文件操作过程   在C语言中,对文件的访问是通过文件指针来实现的,即用一个指针变量来指向一个文件,这个指针变量就称为文件指针变量。通过文件指针变量就可以对由它所指的文件进行各种操作。   定义文件指针变量的一般形式为: FILE *指针变量标识符;   其中,FILE应大写,它实际上是由系统定义的一个结构体类型,该结构体中含有文件名、文件状态和文件当前位置等信息。在编写程序时无需关心FILE结构体类型的细节,只是当需要使用一个数据文件时,定义一个指向FILE结构体类型的指针变量即可。例如: FILE *fp;   表示fp是一个指向FILE结构体类型的指针变量,通过fp就可以找到与它相关联的文件,并对该文件实施所需的操作。   通过程序可以对文件进行操作,即从文件中读取数据或向文件中写入数据。文件操作的步骤通常如下:   (1) 建立或打开文件。   (2) 从文件中读取数据或向文件中写入数据。     (3) 关闭文件。   上述三个步骤是按顺序进行的,所以打开文件是对文件进行读/写的前提;打开文件就是将指定的文件与当前执行的程序联系起来,建立了外存数据文件与内存中这个程序的数据传递通道,也即为文件的读/写操作做好准备。当需要为写操作打开一个文件时,如果该文件不存在,则系统会先创建这个文件;当需要为读操作打开一个文件时,则这个文件必须是已经存在的文件,否则就会出错。   数据文件可以通过文本编辑程序建立(如同

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档