cc程序设计第9章-文件课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《cc程序设计第9章-文件课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- cc 程序设计 文件 课件
- 资源描述:
-
1、C/C+程序设计程序设计 C/C+程序设计程序设计第第9章章 文件文件操作操作 引言引言 文件是存储在外部介质上的数据集合。引入文件后,程序的输出结果可以转变为程序的输入数据,且能实现数据编辑和检索。第第9章章 文文 件件 操操 作作1文件的概念 所谓“文件”,一般指存储在外部存储介质(如磁盘、光盘等)上数据的集合。操作系统对文件的存取是按文件名进行的。之前曾接触过的文件有:源程序文件(.c)、目标文件(.obj)、可执行文件(.exe)、库文件(.h),本章所说的文件指数据文件。数据文件。9.1.1 文件的概念与分类文件的概念与分类9.1 文件概述文件概述2文件的分类文件的分类 普通文件普通
2、文件是指驻留在磁盘或其它外部介质上的有序数据集合,即磁盘上的文件。设备文件设备文件是指与主机相连的各种外部设备,如显示器、打印机、键盘等。通常把显示器显示器定义为标准输出文件标准输出文件(stdout),),把键盘键盘定义为标准输入文件(标准输入文件(stdin)。)。9.1 文件概述文件概述划划 分分 角角 度度分分 类类从用户角度从用户角度普通文件普通文件设备文件设备文件从存储形式从存储形式ASCII码文件码文件二进制文件二进制文件从文件内容从文件内容程序文件程序文件数据文件数据文件字字 符:符:1234ASCII码:码:0011 0001 0011 0010 0011 0011 0011
3、 0100 共需要共需要 4 个字节个字节在显示器上按字符显示,可读懂在显示器上按字符显示,可读懂文本文件文本文件:也称ASCII文件,它是把数据转换成对应的ASCII码值,存放在磁盘上,每个字符占1个字节。二进制文件二进制文件:将数据以二进制形式存放到磁盘上。例如,短整型数据1234,在二进制文件中,占用2个字节;而在文本文件中,则需占用4个字节,如下图所示:程序文件程序文件:程序的源代码形成的文件;数据文件数据文件:程序需要使用的数据保存在磁盘上时形成的文件。9.1 文件概述文件概述3缓冲文件系统和非缓冲文件系统 缓冲文件系统:缓冲文件系统:系统自动在内存中为每一个正在使用的文件开辟一个缓
4、冲区,作为程序与文件之间数据交换的中间媒介。即:C程序读写文件经过缓冲区进行。缓冲文件系统利用文件指针文件指针标识文件。内存 外存缓冲区缓冲区 C程序9.1 文件概述文件概述文件指针定义:文件指针定义:FILE *指针变量指针变量;例:FILE *fp;9.1 文件概述文件概述含有文件信息的结构体类型,在stdio.h中定义说明:只要把某个文件的FILE型变量地址赋给fp,就表明在这个文件和fp之间建立起了联系,C语言就把这个指针作为该文件的标识,在程序中就可以通过fp来访问这个文件。9.1.2 文件的操作方式文件的操作方式1.数据文件的操作步骤C语言中对文件的3个主要操作:(1)打开文件)打
5、开文件:用标准库函数fopen()以某种操作方式打开磁盘上指定的文件。(2)读/写文件:用文件输入、输出函数对文件进行读写操作。(3)关闭文件:用标准库函数fclose()将文件关闭。关闭文件主要完成以下工作:关闭文件缓冲区,将缓冲区中还没有输出的数据输出到磁盘文件中,以保证数据不丢失;切断文件指针与文件名之间的联系,释放文件指针。“读读”或输入:或输入:磁盘上文件 内存 “写写”或或输出输出:内存 磁盘文件9.1 文件概述文件概述2.数据文件操作方式数据文件操作方式二进制文件打开二进制文件打开方式同一表,只是在方式字符后加方式同一表,只是在方式字符后加b(1 1)文件打开函数文件打开函数 f
6、openfopen()()3.数据文件的打开与关闭数据文件的打开与关闭fopen函数函数调用调用格式:格式:fopen(文件名文件名,文件操作方式文件操作方式)功能功能:使程序与文件之间建立关联。成功,返回一个FILE类型的指针值;若不成功,则返回一个空指针值NULL。说明:说明:1)“文件名”是包含路径的一个文件名,用西文双引号括起来。若文件与程序路径相同,可省略路径。2)“文件操作方式”是指以何种方式对文件进行操作。9.1 文件概述文件概述9.1 文件概述文件概述(2)数据文件的关闭函数)数据文件的关闭函数fclose()fclose函数的一般格式如下:fclose(文件指针名文件指针名)
7、;功能:功能:关闭文件指针指向的文件。如果文件关闭成功,函数返回0值,如果关闭失败,函数返回EOF(-1)。通常在程序中会检测文件是否正常打开。常用下面的程序段来打开一个文件,并检查是否打开成功。FILE *fp;if(fp=fopen(“d:c_c+data.txt”,“r”)=NULL)printf(file can not open!n);exit(0);(文件打开成功后的语句)9.2 文件的读写操作文件的读写操作9.2.1 字符读字符读/写函数写函数1.写字符函数写字符函数fputc()fputc函数的一般格式:fputc(ch,fp);功能:功能:将ch代表的字符输出到fp所指向的文
8、件中。成功返回刚写入的字符;否则返回EOF(-1)值。例如:fputc(A,fp);/将字符 A 写入 fp 指向的文件中 2.读字符函数读字符函数fgetc()fgetc函数的一般格式如下:ch=fgetc(fp);功能:功能:从fp所指的文本文件中读取一个字符,并赋给字符型变量ch。成功返回读出的字符;如果读到文件结束符或出错,则返回EOF(-1)值。9.2 文件的读写操作文件的读写操作【例例9-1】将键盘输入的一串字符(以输入的回车符为结束标志)以单个字符形式写入L9-1.txt文件中,再将文件内容以单个字符形式从该文件中读出并显示到屏幕上。#include#include void r
9、eadchar()FILE *fp;char ch;if(fp=fopen(L9-1.txt,r)=NULL)printf(file can not open!n);return;ch=fgetc(fp);while(ch!=EOF)/只要文件没有结束,则重复执行以下操作 putchar(ch);/将当前读取的字符显示到屏幕ch=fgetc(fp);/继续读取下一个字符 fclose(fp);9.2 文件的读写操作文件的读写操作void writechar()FILE *fp;char ch;if(fp=fopen(L9-1.txt,w)=NULL)printf(file can not op
10、en!n);return;ch=getchar();while(ch!=n)/只要输入的不是回车符,则重复执行以下操作 fputc(ch,fp);/向指定的文件中写入刚输入的字符ch=getchar();/继续输入下一个字符 fclose(fp);void main()writechar();readchar();printf(n);9.2 文件的读写操作文件的读写操作9.2.2 字符串读字符串读/写函数写函数1.写字符串函数写字符串函数fputs()fputs函数的一般格式如下:fputs(str,fp);功能:功能:将str代表的字符串写入fp指向的文件中,字符串末尾的“0”不予写入。正确
11、返回写入的字符个数,文件内部指针会自动后移到新的写入位置;错误则返回EOF(-1)值。2.读字符串函数读字符串函数fgets()fgets函数的一般格式如下:fgets(str,n,fp);功能:功能:从fp所指向的文件中读取不超过n-1个的字符,存到str中,并在末尾加 0。成功返回读取的字符串,否则返回NULL。9.2 文件的读写操作文件的读写操作说明:说明:1)n是要读出的字符串的所占的最大字节数,0占一个字节,故最多可读取n-1个字符。2)在读满n-1个字符前,若遇回车换行符(若遇回车换行符(n),),则读出这个回车换行符,结束读操作,并在字符串末尾后加 0,函数正常返回。这时文件读写
12、指针已经移到这个回车换行符后面。3)在读满n-1个字符前,若遇文件结束标志,直接加0,结束读操作,函数正常返回。4)在读满n-1个字符前,如果遇回车符(如果遇回车符(r),则读出该字符,而继续读取的下一个字符会存放在str指向的内存区域的第1个位置,直到遇到n或者遇文件结束或者读满n-1个字符为止,字符串末尾后加0。9.2 文件的读写操作文件的读写操作【例例9-2】下列程序的功能是将字符串Beijingr123456n&*以字符串方式写入文件“L9-2.txt”,再以字符方式读出。试分析运行结果。#include#include#include int main()FILE *fp;char
展开阅读全文