网站大量收购闲置独家精品文档,联系QQ:2885784924

安徽科技学院C语言程序设计课件第11章 文件.ppt

安徽科技学院C语言程序设计课件第11章 文件.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 文件 12.1 C文件的概念 12.2 文件操作函数 12.3应用举例 12.1 C文件的概念 C文件的类型 C语言把文件看作是一个字符的序列,即文件是由一个一个字符组成的字符流。因此C语言将文件也称之为流。即,当读写一个文件时,可以不必关心文件的格式或结构。 文件是以字符序列形式表示的,但C语言支持两种类型的文件:文本文件和二进制文件。这两种文件的区别在于存放数据的方式不同。 二进制文件格式:以补码形式存放。二进制文件是把数据以二进制数的格式存放在文件中的,其占用存储空间较少。 ASCII码格式:一个字节存放一个字符。 文本文件的每一个字节存放一个ASCII码,代表一个字符。这便于对字符的逐个处理,但占用存储空间较多,而且要花费转换时间。 12.1 C文件的概念 C语言对文件的处理一般有两种方法:缓冲文件系统和非缓冲文件系统。 缓冲文件系统:在缓冲文件系统中,系统在对文件进行读写之前首先在内存区开辟一个称作缓冲区的专用内存区域。从内存向磁盘写文件时必须先写入缓冲区,装满缓冲区后才一起写到磁盘上去;从磁盘读文件时必须先将一批数据读到缓冲区(充满缓冲区),然后再从缓冲区将数据逐个送到用户数据区。 非缓冲文件系统:在非缓冲文件系统中,文件的处理不自动开辟确定大小的缓冲区,而是由程序设定缓冲区。一般地,用缓冲文件系统进行的输入输出称为高级磁盘输入输出,用非缓冲文件系统进行的输入输出称为低级(低层)的输入输出。 12.1 C文件的概念 文件类型指针 文件类型 文件类型实际上是一个结构体类型,类型名为FILE。Turbo C将该类型存放在stdio.h 文件中。具体声明如下: typedefstruct {short level; /*缓冲区“满”或“空”的程度*/ unsigned flags; /*文件状态标志*/ char fd; /*文件描述符*/ unsigned char hold; /*如无缓冲区不读取字符*/ short bsize; /*缓冲区的大小*/ unsigned char*baffer; /*数据缓冲区的位置*/ unsigned char* curp; /*指针,当前的指向*/ unsigne distemp; /*临时文件,指示器*/ short token; /*用于有效性检查*/ }FILE; 12.1 C文件的概念 文件类型指针 通常定义成FILE类型的指针,称为文件指针。 例如:FILE * fp; 12.2 文件操作函数 文件打开函数 在C语言中,使用fopen函数来打开文件,fopen函数的调用格式为: fopen(“文件名”,“文件使用方式”); 其中文件名是指文件的全名称,包括相应的路径、主文件名、扩展文件名(若有);文件使用方式是指打开文件是为读、写、追加、以及是二进制文件还是文本文件。 文件的使用方式及其含义如下: r。 为读打开一个文本文件。以此方式打开的文件只能用于向计算机输入而不能用作向该文件输出数据,而且该文件应该已经存在。若指定的文件不存在则会出错。 ②“w”。 为写打开一个文本文件。以此方式打开的文件只能用于向该文件写数据(即输出文件),而不能用来向计算机输入。如果原来不存在该文件,则在打开时新建一个以指定的名字命名的文件。如果原来已存在一个以该文件名命名的文件,则在打开时将该文件删去,然后重新建立一个新文件。 12.2 文件操作函数 a。 向文本文件尾增加数据。此时该文件必须已存在,否则将得到出错信息。打开时,位置指针移到文件末尾。 “r+”、 “w+”、 “a+”。用“r+” 、“w+”、“a+”方式打开文件既可以用来输入数据,也可以用来输出数据。用“r+”方式时该文件应该已经存在,以便能向计算机输入数据。用“w+”方式则新建立一个文件,先向此文件写数据,然后可以读此文件中的数据。用“a+”方式打开的文件,原来的文件不被删去,位置指针移到文件末尾,可以添加,也可以读。 rb、wb、ab。以读、写、追加的方式打开一个二进制文件。使用方法同r,w,a。 rb+、wb+、ab+。以读、写、追加的方式打开一个二进制文件,使用方法同r+ w+ a+。 12.2 文件操作函数 fopen函数执行后返回一个FILE类型的指针,通常赋给一个文件指针变量(如fp)。这样文件指针fp就和被打开的文件联系起来了,其后对文件的读写就可以通过文件指针fp来进行。 例如:fp=fopen(f1,r); 说明: 如果不能实现“打开”的任务,fopen函数将会返回一个出错信息。此时fopen函数返回一个空指针值NULL。 if (fp=fopen(file1,r))= = NULL) {printf(不

文档评论(0)

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

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

1亿VIP精品文档

相关文档