收藏 分销(赏)

C语言程序设计第四版谭浩强.ppt

上传人:精*** 文档编号:1894292 上传时间:2024-05-11 格式:PPT 页数:26 大小:796.50KB
下载 相关 举报
C语言程序设计第四版谭浩强.ppt_第1页
第1页 / 共26页
C语言程序设计第四版谭浩强.ppt_第2页
第2页 / 共26页
C语言程序设计第四版谭浩强.ppt_第3页
第3页 / 共26页
C语言程序设计第四版谭浩强.ppt_第4页
第4页 / 共26页
C语言程序设计第四版谭浩强.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

1、第第1010章章 文件文件本章内容本章内容10.1 文件的基本知识文件的基本知识10.2 打开与关闭文件打开与关闭文件10.3 顺序读写数据文件顺序读写数据文件10.4 随机读写数据文件随机读写数据文件10.5 文件读写的出错检测文件读写的出错检测文件的基本知识文件的基本知识输入输出输入输出之之前各章中处理的数据前各章中处理的数据输入:键盘输入:键盘-内存内存输出:内存输出:内存-显示器显示器实际上也可能是实际上也可能是输入:外部设备输入:外部设备-内存(读文件)内存(读文件)输出:内存输出:内存-外部设备(写文件)外部设备(写文件)操作系统把各种设备都统一作为文件处理操作系统把各种设备都统一

2、作为文件处理文件的基本知识文件的基本知识文件分类文件分类文件文件:存放在存储介质(磁盘、光盘、半:存放在存储介质(磁盘、光盘、半导体存储器)上的相关信息集合导体存储器)上的相关信息集合程序设计中主要用到两种文件:程序设计中主要用到两种文件:程序文件程序文件 数据文件数据文件本章讨论的是本章讨论的是数据文件数据文件文件的基本知识文件的基本知识文件标识文件标识l文件有唯一的文件标识,以便识别和引用文件有唯一的文件标识,以便识别和引用l文件标识包括三部分:文件标识包括三部分:文件路径:文件保存的位置文件路径:文件保存的位置文件名主干:命名应体现文件的内容文件名主干:命名应体现文件的内容文件后缀:体现

3、文件的格式,参见文件后缀:体现文件的格式,参见“常常用文件扩展名用文件扩展名”文件的基本知识文件的基本知识流式文件流式文件 语言把文件看作是字符(或字语言把文件看作是字符(或字节)的序列。节)的序列。文件以文件以“流流”的形式在程序与操的形式在程序与操作系统间流动。作系统间流动。文件的基本知识文件的基本知识数据的形式数据的形式根据数据的组织形式,数据文件可分为根据数据的组织形式,数据文件可分为lASCII文件:数据逐个字符的文件:数据逐个字符的ASCII码码输出到外存,也称文本文件输出到外存,也称文本文件l二进制文件:内存中二进制形式的数据二进制文件:内存中二进制形式的数据直接输出到外存直接输

4、出到外存文件的基本知识文件的基本知识数据的形式数据的形式l字符:一律以字符:一律以ASCIIASCII形式存储形式存储l数值:既可用数值:既可用ASCIIASCII形式存储,也可以形式存储,也可以用二进制形式存储。例:用二进制形式存储。例:(10000)(10000)101010000ASCII形式形式二进制形式二进制形式10000文件的基本知识文件的基本知识文件缓冲区文件缓冲区从内存向外存输出数据从内存向外存输出数据程序数据区程序数据区输出文件缓冲区输出文件缓冲区输入文件缓冲区输入文件缓冲区磁盘磁盘装满缓冲区装满缓冲区文件的基本知识文件的基本知识文件缓冲区文件缓冲区程序数据区程序数据区输出文

5、件缓冲区输出文件缓冲区输入文件缓冲区输入文件缓冲区磁盘磁盘从外存向内存读入数据从外存向内存读入数据充满缓冲区充满缓冲区文件的基本知识文件的基本知识文件指针文件指针l被使用的文件在内存中开辟一个相应的被使用的文件在内存中开辟一个相应的文件信息区,存放文件的信息(如文件名、文件信息区,存放文件的信息(如文件名、状态及当前位置等)状态及当前位置等)l这些信息保存在一个结构体变量中。该这些信息保存在一个结构体变量中。该结构体类型由系统声明,名为结构体类型由系统声明,名为FILEl声明声明FILE结构体类型的信息包含在头文结构体类型的信息包含在头文件件“stdio.h”中中l一般设置一个指向一般设置一个

6、指向FILE类型变量的指针类型变量的指针变量,通过它引用变量,通过它引用FILE类型变量类型变量文件的基本知识文件的基本知识文件指针文件指针FILE*fp1,*fp2,*fp3;文件文件f1的的文件信息区文件信息区fp1文件文件f2的的文件信息区文件信息区fp2文件文件f3的的文件信息区文件信息区fp3文件的基本知识文件的基本知识文件的操作文件的操作l写文件:写文件:打开打开-写写-关闭关闭l读文件:读文件:打开打开-读读-关闭关闭文件的打开文件的打开功能:功能:为文件建立相应的信息区为文件建立相应的信息区(存放存放文件信息文件信息)和文件缓冲区和文件缓冲区(暂时存放输入暂时存放输入输出的数据

7、输出的数据)函数:函数:fopen(文件名文件名,使用文件方式使用文件方式);例:例:fopen(a1.dat,r);文件的打开文件的打开 打开文件时,通常指定一个打开文件时,通常指定一个指针变量指针变量指向该文件,通过该指向该文件,通过该指针变量指针变量对文件进对文件进行读写。行读写。例:例:FILE*fp;fp=fopen(a1.dat,r);三个要点:文件名;读写方式;指针三个要点:文件名;读写方式;指针文件的打开文件的打开打开文件的方式打开文件的方式P.336-337表表10.1 r r:读:读 w w:写(重写,覆盖原数据):写(重写,覆盖原数据)a a:写(追加):写(追加)b b

8、:二进制文件:二进制文件若文件不存在:若文件不存在:读读 和和 追加追加:出错:出错(P.336(P.336例,排错例,排错)重写重写:建立新文件:建立新文件文件的关闭文件的关闭功能:功能:撤销文件信息区和文件缓冲区撤销文件信息区和文件缓冲区 函数函数:fclose(文件指针文件指针);例:例:fclose (fp);读写文件后读写文件后不关闭,可能会丢失数据不关闭,可能会丢失数据。文件的读写方式文件的读写方式顺序读写顺序读写:读写顺序与数据的物理顺序:读写顺序与数据的物理顺序一致一致(P.338)随机读写随机读写:可以对文件中指定位置的数:可以对文件中指定位置的数据进行读写据进行读写(P.3

9、49)顺序文件的读写顺序文件的读写读写字符读写字符函数形式函数形式功能功能返回返回值值fgetc(fp)从从fp指向的文指向的文件件读读入一个字入一个字符符成功:返回所成功:返回所读读字符;字符;失失败败:返回:返回EOFfputc(ch,fp)把字符把字符ch写到写到fp所指向的文所指向的文件件成功:返回成功:返回输输出的字出的字符;符;失失败败:返回:返回EOF顺序文件的读写顺序文件的读写读写字符读写字符例例10.1 连续读入一串字符并写入文件连续读入一串字符并写入文件例例10.2 将一个文件内容复制到另一文件将一个文件内容复制到另一文件考虑:如何实现文件的合并?考虑:如何实现文件的合并?

10、顺序文件的读写顺序文件的读写读写字符串读写字符串函数形式函数形式功能功能返回返回值值fgets(str,n,fp)从从fp指指向向的的文文件件,读读入入长长度度为为(n-1)的的字字符符串串,存存放放到字符数到字符数组组str成成功功:返返回回地地址址str;失失 败败:返返 回回NULLfputs(str,fp)str所所指指向向的的字字符符串串写写到到文文件件指指针针变变量量fp所所指指向向的的文件文件成功:返回成功:返回0;失失败败:返返回回非非0值值顺序文件的读写顺序文件的读写读写字符串读写字符串例例10.3 从键盘输入从键盘输入3个个字符串字符串,排序,把排,排序,把排序后的字符串写

11、入文件序后的字符串写入文件(P.342-343)读上面写好的文件读上面写好的文件(P.344)顺序文件的读写顺序文件的读写格式化读写格式化读写 fprintf(文件指针文件指针,格式字符串格式字符串,输出表列输出表列);fscanf(文件指针文件指针,格式字符串格式字符串,输入表列输入表列);例:例:fprintf(fp,%d,%6.2f,i,f);fscanf(fp,%d,%f,&i,&f);很少用很少用顺序文件的读写顺序文件的读写二进制读写二进制读写 fread(buffer,size,count,fp);fwrite(buffer,size,count,fp);读读/写数据的写数据的首地址首地址读读/写的字节写的字节数数读读/写的数据写的数据项数项数文件指针文件指针顺序文件的读写顺序文件的读写二进制读写二进制读写例例10.4 从键盘输入从键盘输入10个学生的数据(个学生的数据(4个数个数据项),存放在结构体数组中,再将数据项),存放在结构体数组中,再将数据写入文件据写入文件(P.346-347)读上面写好的文件读上面写好的文件(P.347-348)从另一个已有的文件里读数据从另一个已有的文件里读数据(P.349)此课件下载可自行编辑修改,供参考!感谢您的支持,我们努力做得更好!

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服