C语言第十九讲课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言第十九讲课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 第十九 讲课
- 资源描述:
-
1、 1 C语言电子教案(十九)语言电子教案(十九)第十九讲第十九讲 第十三章第十三章 文件文件l 主要内容:主要内容:l 13.1 13.1 文件的概念文件的概念l 13.2 13.2 文件类型的指针文件类型的指针l 13.3 13.3 文件的打开和关闭文件的打开和关闭l 13.4 13.4 文件的读写文件的读写l 13.5 13.5 文件的定位文件的定位 2 13.1 13.1 文件的概念文件的概念l 文件的创建方式:文件的创建方式:(1 1)通过文字处理软件或操作系统的文件管理功能;)通过文字处理软件或操作系统的文件管理功能;(2 2)通过程序语句创建。)通过程序语句创建。l 数据的输入和输
2、出:数据的输入和输出:在计算机中,数据的输入和输出都是在计算机中,数据的输入和输出都是相对于主机相对于主机(即内存)而言。将数据从磁盘文件或输入设备读(即内存)而言。将数据从磁盘文件或输入设备读入内存称为输入,从内存写到磁盘文件或输出设备入内存称为输入,从内存写到磁盘文件或输出设备称为输出。称为输出。3 一、文件的概念一、文件的概念l 文件文件:存储在外部介质:存储在外部介质(如如:软盘、硬盘、光盘等软盘、硬盘、光盘等)上的上的数据的集合。数据的集合。l 操作系统都是以文件为单位对数据进行管理的操作系统都是以文件为单位对数据进行管理的,文件又文件又是以文件名作为标识符。是以文件名作为标识符。l
3、 在程序设计中在程序设计中,有时需要将磁盘上的数据读入内存中有时需要将磁盘上的数据读入内存中,有有时需要将内存中的数据写入磁盘中时需要将内存中的数据写入磁盘中,这就要用到文件。这就要用到文件。如:我们可以将一个班的学生的考试成绩写入数据文件,如:我们可以将一个班的学生的考试成绩写入数据文件,这样在程序设计中,多个用户都可以使用这样的数据文这样在程序设计中,多个用户都可以使用这样的数据文件,而不必多次输入造成重复劳动。件,而不必多次输入造成重复劳动。4 二、文件的组织形式二、文件的组织形式l 文件可分为文件可分为ASCIIASCII码文件码文件和和二进制文件二进制文件。l ASCIIASCII文
4、件文件:又称为文本文件:又称为文本文件(.txt)(.txt)文件,其中每个字节文件,其中每个字节存放一个存放一个ASCIIASCII码字符。码字符。ASCIIASCII码文件占存储空间大码文件占存储空间大,且要花费时间转换且要花费时间转换(要进行二要进行二进制形式与进制形式与ASCIIASCII码形式之间的转换码形式之间的转换)l 二进制文件二进制文件:是将内存中的数据按在内存中的存储形式:是将内存中的数据按在内存中的存储形式原样输出到磁盘上存放。原样输出到磁盘上存放。二进制文件节省存储空间二进制文件节省存储空间,不需要转换不需要转换,但不能直接输出但不能直接输出字符形式字符形式,也就是说也
5、就是说,不能直观地显示文件的内容不能直观地显示文件的内容 5 二、文件的组织形式二、文件的组织形式如:整数如:整数10001000l 在在ASCIIASCII文件中文件中:按照:按照4 4个字符(个字符(1,0,0,01,0,0,0)存储,占存储,占4 4个字节。分别为:个字节。分别为:00110001 00110000 00110000 0011000000110001 00110000 00110000 001100001000=512+256+128+64+32+0+8+0+0+0 =(00000011 11101000)21 1 的的ASCIIASCII码值为码值为 49=32+16+
6、0+0+0+149=32+16+0+0+0+1l 在二进制文件中在二进制文件中:是按数据在内存中的存储形式:是按数据在内存中的存储形式(即按补码)存储的,占(即按补码)存储的,占2 2个字节,分别为:个字节,分别为:00000011 1110100000000011 11101000 6 13.2 13.2 指向文件的指针指向文件的指针l 指向文件的指针的定义:指向文件的指针的定义:FILE FILE*变量名变量名;如:如:FILE FILE*fpfp;则定义了指针变量则定义了指针变量fpfp是一个指向文件的指针。是一个指向文件的指针。l 注意:使用注意:使用FILEFILE定义指向文件的指针
7、时,必须包含头文件定义指向文件的指针时,必须包含头文件 stdiostdio.h.h 7 13.3 13.3 文件的打开和关闭文件的打开和关闭l 文件在使用之前,应当先打开,使用之后应将文件关闭,以文件在使用之前,应当先打开,使用之后应将文件关闭,以防数据被破坏。防数据被破坏。l 文件的打开和关闭是使用系统定义的函数来实现的。文件的打开和关闭是使用系统定义的函数来实现的。打开文件的函数是:打开文件的函数是:fopenfopen()()函数;函数;关闭文件的函数是:关闭文件的函数是:fclosefclose()()函数。函数。8 一、文件的打开一、文件的打开l 方法:方法:FILE FILE *
8、fp;fp;fp=fopenfp=fopen(文件名,打开方式)文件名,打开方式);l 文件的打开方式:文件的打开方式:r:r:文本文件文本文件只读只读w:w:文本文件文本文件只写只写a:a:文本文件文本文件追加追加 rbrb:二进制文件的只读二进制文件的只读r+:r+:二进制文件可读可写二进制文件可读可写打开文件并使指针打开文件并使指针指向文件首指向文件首打开文件并使指针打开文件并使指针指向文件首指向文件首打开文件并使指针打开文件并使指针指向文件尾指向文件尾 9 一、文件的打开一、文件的打开l 例如:例如:FILE FILE *fp;fp;fp=fopen(E:test.dat fp=fop
9、en(E:test.dat,ww);表示将表示将E E盘根目录下的盘根目录下的test.dattest.dat文件,按只写的方式打开。文件,按只写的方式打开。如果磁盘上有此文件,打开并将文件指针指向文件首;如如果磁盘上有此文件,打开并将文件指针指向文件首;如果磁盘上无此文件,创建一个新文件并打开。果磁盘上无此文件,创建一个新文件并打开。l 文件的打开的常用格式:文件的打开的常用格式:if(fp=fopen(aa,r)=NULL)if(fp=fopen(aa,r)=NULL)printf printf(cannot open this filen);(cannot open this filen
10、);exit(0);exit(0);10 二、文件的关闭二、文件的关闭l 方法:方法:fclosefclose(文件指针)文件指针);例如:例如:fclose(fpfclose(fp););将指针将指针fpfp指向的文件关闭。所谓文件关闭就是文件指指向的文件关闭。所谓文件关闭就是文件指针与文件的指向关系中断。针与文件的指向关系中断。11 13.4 13.4 文件的读文件的读写写l 打开文件后打开文件后,可对文件进行读写操作可对文件进行读写操作,对文件的读写操作包对文件的读写操作包括以下几种括以下几种:fgetc()函数:将一个字符由磁盘文件中读入到内存函数:将一个字符由磁盘文件中读入到内存fp
11、utc()函数:将一个字符写入磁盘文件函数:将一个字符写入磁盘文件fread()函数:将一组数据由磁盘文件读入到内存函数:将一组数据由磁盘文件读入到内存 fwrite()函数:将一组数据写入磁盘文件函数:将一组数据写入磁盘文件fscanf()函数:将一组数据由磁盘文件中读入到内存函数:将一组数据由磁盘文件中读入到内存fprintf()函数:将一个数据写入磁盘文件函数:将一个数据写入磁盘文件 12 13.4 13.4 文件的读写文件的读写l 由于由于CPU只能与内存有直接数据交换,因此读出文件中只能与内存有直接数据交换,因此读出文件中的数据不能直接从文件到屏幕,而文件的写入操作也不能的数据不能直
展开阅读全文