(C语言课件)第八章文件.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(C语言课件)第八章文件

* 8.1 文件概述 所谓“文件”是指一组相关数据的有序集合。这个数据集合有一个名称,即文件名。实际上在前面的各章中已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。在本章学习C语言的数据文件。 从文件的读写方式来看,文件可分为顺序存取文件和随机存取文件 所谓顺序存取文件是指,按从头到尾的顺序读出或写入的文件。 而随机存取文件的记录通常具有固定的长度,因而可以直接访问文件中的特定记录,也可以在不破坏其他数据的情况下把数据插入到随机存取的文件中。 从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。 ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。例如,数5678的存储形式为: ASCII码: 二进制文件是按二进制的编码方式来存放文件的,也就是说,和在内存中数据的表示是一致的。例如,数5678的存储形式为可见,它只占用二个字节。 文件的操作流程 1.建立/打开文件 2.从文件中读取数据或向文件中写数据 3.关闭文件 打开文件就是将指定文件与程序联系起来,为下面将进行的文件读写工作做好准备。 从文件中读取数据,就是从指定文件中取出数据,存入程序在内存中的数据区,如变量或数组中。 向文件中写数据,就是将程序的输出结果存入指定的文件中,即文件名所对应的外存储器上的存储区中。 文件缓冲区是内存中的一块区域,用于进行文件读写操作时数据的暂存,大小一般为512字节,这和磁盘的读写单位一致。 文件指针 在文件读写过程中,系统需要确定文件信息、当前的读写位置、缓冲区状态等信息,才能顺利实现文件操作。在C语言中用一个指针变量指向一个文件,这个指针称为文件指针。通过文件指针就可对它所指的文件进行各种操作。 FILE *指针变量标识符; 其中FILE应为大写,它实际上是由系统定义的一个结构体,该结构体中含有文件名、文件状态和文件当前位置等信息。 在编写源程序时不必关心FILE结构的细节,只是每当使用一个数据文件,需要定义一个指向该结构体类型的指针。 例如:FILE *fp; 8.2 文件的打开与关闭 所谓打开文件,实际上是建立文件的各种有关信息,并使文件指针指向该文件,以便对它进行读/写操作。关闭文件则断开指针与文件之间的联系,也就禁止再对该文件进行操作。 fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,打开文件方式); FILE *fp; fp=(filea,r); FILE *fphzk fphzk=(d:\\lang\\tc\\string,rb) if((fp=fopen(c:\\student.dat,r)==NULL) { printf(\nerror on open c:\\student.dat!\n); exit(1); } else ┅ /* 从文件中读取数据 */ 在打开一个文件时,如果出错,fopen函数将返回一个空指针值NULL。在程序中可以用这一信息来判别是否完成打开文件的工作,并进行相应的处理。因此常用以下程序段打开文件: 文件一旦使用完毕,应该使用关闭文件函数把文件关闭,以避免的文件数据的丢失或文件再次被误用。 fclose函数调用的一般形式是: fclose(文件指针); 例如: fclose(fp); 8.3 文件的顺序存取 文件的顺序存取是指将文件从头到尾逐个数据读出或写入,文件的读写是通过读写函数实现的,与前面学习的输入输出函数非常相似,它们是: 字符输入/输出函数 fgetc()/fputc() 字符串输入/输出函数 fgets()/fputs() 格式输入/输出函数 fscanf()/fprintf() 这些函数都是包含在stdio.h头文件中的,它们的主要差别在于读写单位的不同 1.???? 读字符函数fgetc fgetc函数的功能是从指定的文件中读一个字符,函数的调用形式为: 字符变量=fgetc(文件指针); ch=fgetc(fp); (1)?????? 在fgetc函数调用中,读取的文件必须是以读或读写方式打开的。 (2)???????? 读取字符的结果也可以不向字符变量赋值。 例如:fgetc(fp); 但是在这种情况下,读出的字符不能保存。 例8.1 将d盘\lang\tc文件夹下

文档评论(0)

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

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

1亿VIP精品文档

相关文档