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

c程序设计(第四版)谭浩强 第10节 文件.ppt

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 文件 本章内容 文件的基本知识——输入输出 之前各章中处理的数据 输入:键盘-内存 输出:内存-显示器 实际上也可能是 输入:外部设备-内存(读文件) 输出:内存-外部设备(写文件) 操作系统把各种设备都统一作为文件处理 文件的基本知识——文件分类 文件:存放在存储介质(磁盘、光盘、半导体存储器)上的相关信息集合 程序设计中主要用到两种文件: 程序文件 数据文件 本章讨论的是数据文件 文件的基本知识——文件标识 文件有唯一的文件标识,以便识别和引用 文件标识包括三部分: 文件路径:文件保存的位置 文件名主干:命名应体现文件的内容 文件后缀:体现文件的格式,参见“常用文件扩展名” 文件的基本知识——流式文件 C语言把文件看作是字符(或字节)的序列。 文件以“流”的形式在程序与操作系统间流动。 文件的基本知识——数据的形式 根据数据的组织形式,数据文件可分为 ASCII文件:数据逐个字符的ASCII码输出到外存,也称文本文件 二进制文件:内存中二进制形式的数据直接输出到外存 文件的基本知识——数据的形式 字符:一律以ASCII形式存储 数值:既可用ASCII形式存储,也可以用二进制形式存储。例:(10000)10 文件的基本知识——文件缓冲区 文件的基本知识——文件缓冲区 文件的基本知识——文件指针 被使用的文件在内存中开辟一个相应的文件信息区,存放文件的信息(如文件名、状态及当前位置等) 这些信息保存在一个结构体变量中。该结构体类型由系统声明,名为FILE 声明FILE结构体类型的信息包含在头文件“stdio.h”中 一般设置一个指向FILE类型变量的指针变量,通过它引用FILE类型变量 文件的基本知识——文件指针 文件的基本知识——文件的操作 写文件:打开-写-关闭 读文件:打开-读-关闭 文件的打开 功能:为文件建立相应的信息区(存放文件信息)和文件缓冲区(暂时存放输入输出的数据) 函数: fopen(文件名,使用文件方式); 例: fopen(a1.dat,r); 文件的打开 打开文件时,通常指定一个指针变量指向该文件,通过该指针变量对文件进行读写。 例:FILE *fp; fp=fopen(a1.dat,r); 三个要点:文件名;读写方式;指针 文件的打开——打开文件的方式 P.336-337表10.1 r:读 w:写(重写,覆盖原数据) a:写(追加) b:二进制文件 若文件不存在: 读和追加:出错(P.336例,排错) 重写:建立新文件 文件的关闭 功能:撤销文件信息区和文件缓冲区 函数:fclose(文件指针);  例: fclose (fp); 读写文件后不关闭,可能会丢失数据。 文件的读写方式 顺序读写:读写顺序与数据的物理顺序一致(P.338) 随机读写:可以对文件中指定位置的数据进行读写(P.349) 顺序文件的读写——读写字符 顺序文件的读写——读写字符 顺序文件的读写——读写字符串 顺序文件的读写——读写字符串 顺序文件的读写——格式化读写 顺序文件的读写——二进制读写 顺序文件的读写——二进制读写 10.1 文件的基本知识 10.2 打开与关闭文件 10.3 顺序读写数据文件 10.4 随机读写数据文件 10.5 文件读写的出错检测00110000001100001 0 0 0 0 ASCII形式0000000000010000 二进制形式 10000 从内存向外存输出数据 程序数据区 输出文件缓冲区 输入文件缓冲区 磁盘 装满缓冲区 程序数据区 输出文件缓冲区 输入文件缓冲区 磁盘 从外存向内存读入数据 充满缓冲区 FILE *fp1,*fp2,*fp3; 文件f1的 文件信息区 fp1 文件f2的 文件信息区 fp2 文件f3的 文件信息区 fp3 成功:返回所读字符; 失败:返回EOF 从fp指向的文件读入一个字符 fgetc(fp) 成功:返回输出的字符; 失败:返回EOF 把字符ch写到fp所指向的文件 fputc(ch,fp) 返回值 功能 函数形式 例10.1 连续读入一串字符并写入文件 例10.2 将一个文件内容复制到另一文件 考虑:如何实现文件的合并? 函数形式 功能 返回值 fgets(str,n,fp) 从fp指向的文件,读入长度为(n-1)的字符串,存放到字符数组str 成功:返回地址str; 失败:返回NULL fputs(str,fp) str所指向的字符串写到文件指针变量fp所指向的文件 成功:返回0; 失败:返回非0值 例10.3 从键盘输入3个字符串,排

您可能关注的文档

文档评论(0)

187****5045 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档