C语言程序设计第四版-谭浩强PPT课件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用文件扩展名”
5
文件的基本知识——流式文件 C语言把文件看作是字符(或字
节)的序列。 文件以“流”的形式在程序与操
作系统间流动。
6
文件的基本知识——数据的形式
根据数据的组织形式,数据文件可分为 ASCII文件:数据逐个字符的ASCII码 输出到外存,也称文本文件 二进制文件:内存中二进制形式的数据 直接输出到外存
第10章 文件
1
本章内容
10.1 文件的基本知识 10.2 打开与关闭文件 10.3 顺序读写数据文件 10.4 随机读写数据文件 10.5 文件读写的出错检测
2
文件的基本知识——输入输出
之前各章中处理的数据 ➢输入:键盘->内存 ➢输出:内存->显示器 实际上也可能是 ➢输入:外部设备->内存(读文件) ➢输出:内存->外部设备(写文件) 操作系统把各种设备都统一作为文件处理
文件f2的 文件信息区
文件f3的 文件信息区
12
文件的基本知识——文件的操作 写文件:打开-写-关闭 读文件:打开-读-关闭
13
文件的打开
功能:为文件建立相应的信息区(存放 文件信息)和文件缓冲区(暂时存放输入 输出的数据) 函数: fopen(文件名,使用文件方式); 例: fopen("a1.dat","r");
7
文件的基本知识——数据的形式
字符:一律以ASCII形式存储 数值:既可用ASCII形式存储,也可以 用二进制形式存储。例:(10000)10
ASCII形式
00110001
1
00110000 00110000
0
0
二进制形式
00110000
0
00110000
0
00000000 00000000 00100111 00010000
这些信息保存在一个结构体变量中。该 结构体类型由系统声明,名为FILE
声明FILE结构体类型的信息包含在头文 件“stdio.h”中
一般设置一个指向FILE类型变量的指针 变量,通过它引用FILE类型变量
11
文件的基本知识——文件指针
FILE *fp1,*fp2,*fp3;
fp1
fp2
fp3
文件f1的 文件信息区
——很少用
23
顺序文件的读写——二进制读写
fread(buffer,size,count,fp); fwrite(buffer,size,count,fp);
读/写 数据 的首 地址
读/写 的字 节数
读/写 的数 据项

文 件 指 针
24
顺序文件的读写——二进制读写
例10.4 从键盘输入10个学生的数据(4个数
据项),存放在结构体数组中,再将数 据写入文件(P.346-347)
读上面写好的文件(P.347-348) 从另一个已有的文件里读数据(P.349)
25
18
顺序文件的读写——读写字符
函数形式
功能
返回值
fgetc(fp)
从fp指向的文 成功:返回所读字符; 件读入一个字 失败:返回EOF 符
fputc(ch,fp) 把字符ch写到 成功:返回输出的字
fp所指向的文 符;

失败:返回EOF
19
顺序文件的读写——读写字符
例10.1 连续读入一串字符并写入文件 例10.2 将一个文件内容复制到另一文件 考虑:如何实现文件的合并?
文件
21
顺序文件的读写——读写字符串
例10.3 从键盘输入3个字符串,排序,把排
序后的字符串写入文件(P.342-343) 读上面写好的文件(P.344)
22
顺序文件的读写——格式化读写
fprintf(文件指针,格式字符串,输出表列); fscanf (文件指针,格式字符串,输入表列);
例: fprintf (fp,"%d,%6.2f",i,f); fscanf (fp,"%d,%f",&i,&f);
10000
8
文件的基本知识——文件缓冲区
➢从内存向外存输出数据
ຫໍສະໝຸດ Baidu
程序数据区
输出文件缓冲区 装满缓冲区
磁盘
输入文件缓冲区
9
文件的基本知识——文件缓冲区
➢从外存向内存读入数据
程序数据区
输出文件缓冲区
磁盘
输入文件缓冲区 充满缓冲区
10
文件的基本知识——文件指针
被使用的文件在内存中开辟一个相应的 文件信息区,存放文件的信息(如文件名、 状态及当前位置等)
3
文件的基本知识——文件分类
➢文件:存放在存储介质(磁盘、光盘、半 导体存储器)上的相关信息集合 ➢程序设计中主要用到两种文件:
程序文件 数据文件 ➢本章讨论的是数据文件
4
文件的基本知识——文件标识
文件有唯一的文件标识,以便识别和引用 文件标识包括三部分:
文件路径:文件保存的位置 文件名主干:命名应体现文件的内容 文件后缀:体现文件的格式,参见“常
20
顺序文件的读写——读写字符串
函数形式
功能
返回值
从fp指向的文件,成 功 : 返 回 地
fgets(str,n,fp)
读入长度为(n-1) 址str; 的字符串,存放 失 败 :


到字符数组str NULL
str所指向的字符 成功:返回0;
fputs(str,fp)
串写到文件指针 失败:返回非0 变量fp所指向的 值
若文件不存在: "读"和"追加":出错(P.336例,排错) "重写":建立新文件
16
文件的关闭
功能:撤销文件信息区和文件缓冲区 函数:fclose(文件指针); 例: fclose (fp);
读写文件后不关闭,可能会丢失数据。
17
文件的读写方式
顺序读写:读写顺序与数据的物理顺序 一致(P.338) 随机读写:可以对文件中指定位置的数 据进行读写(P.349)
14
文件的打开
打开文件时,通常指定一个指针变量 指向该文件,通过该指针变量对文件进 行读写。 例:FILE *fp;
fp=fopen("a1.dat","r"); 三个要点:文件名;读写方式;指针
15
文件的打开——打开文件的方式
P.336-337表10.1 r:读 w:写(重写,覆盖原数据) a:写(追加) b:二进制文件
相关文档
最新文档