第14章文件运用.pptVIP

  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文档。上传文档
查看更多
第14章文件运用

C语言程序设计 —提高篇 14.1 文件概述 “文件”是指存储在外部设备上的、以唯一的名字作为标识的数据集合。 14.1.1 文本文件和二进制文件 文本文件 由一个一个字符组成,每一个字符用一个ASCII代码表示,如123.45以ASCII代码形式存储到磁盘需要6个字节。 特点:可通过显示器或打印机显示,即可读,比较直观。 二进制文件 是指以数据在内存中的存储形式原样输出存储到磁盘上的文件。如123.45在内存中以浮点数形式存储占4个字节,不管一个实数多大都占4个字节。  特点:节省存储空间,输入输出无需转换,速度快,不便阅读。 整数10 000以ASCII形式和二进制形式存储的差别 14.1.2 缓冲文件系统和非缓冲文件系统 缓冲文件系统(又称标准或高层文件系统) 特点:对程序中的每一个文件都在内存中开辟一个 “缓冲区”。 作用:从磁盘文件读入的数据先到“输入缓冲区”中, 然后再从缓冲区依次将数据送给接收变量。 非缓冲文件系统 不由系统自动设置所需缓冲区,而由用户根据需要设置。 新的ANSI标准只建议使用缓冲系统,并对缓冲文件系统的功能进行了扩充,使既能用于处理字符代码文件,也能处理二进制文件。 14.2 文件类型指针 在缓冲文件系统中,系统自动地在内存区为每一个正在使用的文件开辟一个缓冲区,该缓冲区用于存放文件正文。对文件的操作是通过文件指针实现的。 调用一个文件需要的信息: 文件当前读写的位置; 与该文件对应的内存缓冲区的地址; 缓冲区未被处理的字符数(字符指针); 文件的操作方式。 14.2.1 文件类型指针的定义 FILE数据结构定义在stdio.h头文件中,内容如下: typedef struct { int _fd; /*文件号*/ int _cleft; /*缓冲区中剩下的字符数*/ int _mode; /*文件操作方式*/ char *_next; /*文件当前读/写位置*/ char *_buff; /*文件缓冲区位置*/ }FILE; 例如,下面定义了一个文件类型指针: FILE *fp; 14.2.2 设备文件 C语言中把所有的外部设备都作为文件看待,这样的文件称为设备文件。 在程序开始运行时,系统自动打开三个标准文件,并分别定义了文件指针: stdin标准输入文件(键盘); stdout标准输出文件(显示器); stderr标准错误输出文件(显示器)。 14.3 文件的打开和关闭 打开文件:是在用户程序和操作系统之间建立联系,程序把所要操作的文件的有关信息,如文件名、文件操作方式(读、写或读/写)等通知给系统,系统为文件分配一个文件缓冲区。 调用形式: FILE *fp; fp=fopen(文件名,文件使用方式); 功能:返回一个指向该文件的指针或错误标志NULL。 例如, fp=fopen(data.dat,r); 说明: (1)用r方式打开的文件只能在该文件已经存在的情况下向计算机输入数据,若文件不存在,则出错。 (2)用w方式打开的文件只能向该文件写数据,在该文件不存在的情况下,则建立以指定名字命名的文件,如果已经存在该文件,则在打开时删去该文件,然后重新建立一个新文件。 (3)用a方式向文件尾追加新的数据而不删除原有数据,要求文件必须首先存在。打开文件时,位置指针移到文件末尾。 (4)用“r+”、“w+”、“a+”方式打开的文件即可以用来输入数据,也可以用来输出数据。 (5)如果打开文件失败,则返回一个空指针NULL。 为增强程序的可靠性,常用下面的方法打开一个文件: if((fp=fopen(文件名,操作方式))==NULL) { printf(can not open this file\n); exit(0); } 14.3.2 文件的关闭fclose() 所谓关闭文件,即切断文件与程序的联系,释放文件缓冲区。 调用形式: fclose(文件指针) 例如: fclose(fp); 含义为关闭文件指针fp所指向的文件(即fp不再指向该文件)。如果正常关闭了文件,则函数返回值为0,否则,返回非零值。 14.4 文件读/写操作 字符读/写函

文档评论(0)

ytucd96 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档