C语言chap8文件.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文档。上传文档
查看更多
第八章 文件操作 ——实现数据的外部介质存储 什么是文件? 文件是存储在外部存储介质上的信息的集合。 每个文件有唯一的文件名(主名.后缀)来标识。计算机实现按名对文件进行读、写等有关操作。 广义上,操作系统将每一个与主机相联的输入输出设备都看作是文件。(显示器是标准输出文件stdout ,键盘是标准输入文件stdin)。 程序中为什么要使用文件? 1.数据文件的改动不引起程序的改动 ——程序与数据分离 2、不同程序可以访问同一数据文件中 的数据 ——数据共享 3、能长期保存程序运行的中间数据或结果数据 主要教学内容 参考教材P199-214 1 C语言文件概述 2 文件的打开与关闭 3 文件的读写操作 4 位置指针与文件定位 5 出错检测 教学要求 掌握文件的概念以及文件指针的定义方法。 掌握文件的打开和关闭的操作方法。 掌握有关文件读、写操作的函数使用。 1、C语言文件概述 1.1 文件与文件名 文件是指存放在外部存储介质上的数据集合。 为标识一个文件,每个文件都必须有一个文件名,其一般结构为: 主文件名[.扩展名] 文件命名规则,遵循操作系统的约定。DOS操作系统支持“8.3”命名格式,而Windows下支持长文件名。 1.2 文件分类 可以从不同的角度对文件进行分类: (1)按文件的逻辑结构: 记录文件:由具有一定结构的记录组成(定长和不定长) 流式文件:由一个个字符(字节)数据顺序组成 (2)按存储介质: 普通文件:存储介质文件(磁盘、磁带等) 设备文件:非存储介质(键盘、显示器、打印机等) (3)按数据的组织形式: 文本文件: ASCII文件,每个字节存放一个字符的ASCII码 二进制文件:数据按其在内存中的存储形式原样存放 1.3 流式文件 C语言将文件看作是一个一个字符(字节)序列组成的,分为ASCII码文件和二进制文件两种,将这样的文件称为流式文件。 ASCII码文件(文本文件)的每1个字节存储1个字符,因而便于对字符进行逐个处理。但一般占用存储空间较多。 二进制文件是把内存中的数据,原样输出到磁盘文件中。可以节省存储空间和转换时间,但1个字节并不对应1个字符,不能直接输出字符形式。 例: char c=11; 1.4 文件的处理方法 缓冲文件系统 缓冲文件系统是指,系统自动地在内存区为每个正在使用的文件开辟一个缓冲区。 从内存向磁盘输出数据时,必须首先输出到缓冲区中。待缓冲区装满后,再一起输出到磁盘文件中。 从磁盘文件向内存读入数据时,则正好相反:首先将一批数据读入到缓冲区中,再从缓冲区中将数据逐个送到程序数据区。 非缓冲文件系统是指系统不自动开辟确定大小的缓冲区,而由程序为每个文件设定缓冲区。 在UNIX系统下使用的C版本,用缓冲文件系统来处理文本文件,用非缓冲文件系统来处理二进制文件。 ANSI C标准既用缓冲文件系统来处理文本文件,也用缓冲文件系统来处理二进制文件。 1.5 文件操作 读文件与写文件 所谓读文件是指,将磁盘文件中的数据传送到计算机内存的操作。 所谓写文件是指,从计算机内存向磁盘文件中传送数据的操作。 1.6 文件类型FILE C程序可以同时处理多个文件,为了有效地管理多个文件,系统给每个打开的文件都在内存中开辟一个区域,用于存放文件的有关信息(如文件名、文件位置等)。 这些信息保存在一个结构类型变量中,该结构类型由系统定义,取名为FILE(存放在stdio.h中)。 FILE结构体 typedef struct { short level; /* 缓冲区饱和程度 */ unsigned flage; /* 文件状态标志 */ char fd; /* 文件号 */ unsigned char hold; /* 无缓冲区取消字符输入 */ short bsize; /* 缓冲区大小 缺省值512 */ unsigned char *buffer; /* 缓冲区指针*/ unsigned char *curp; /* 当前活动指针 */ unsigned istemp; /* 临时文件标识 */ short token;

文档评论(0)

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

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

1亿VIP精品文档

相关文档