(中职)c语言技能教程第11章课件.ppt
《(中职)c语言技能教程第11章课件.ppt》由会员分享,可在线阅读,更多相关《(中职)c语言技能教程第11章课件.ppt(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、(中职)c语言技能教程第11章ppt课件第第1111章章 文件文件语言技能教程语言技能教程第第 11 章章 11.1 技能技能1:创建及使用文件创建及使用文件 11.2 技能技能2:随机文件读写随机文件读写 11.1 11.1 技能技能1 111.1.1 认识文件认识文件【知识点】【知识点】1 1 文件的分类按内容分为源程序文件和数据文件。文件的分类按内容分为源程序文件和数据文件。文件的分类按内容分为源程序文件和数据文件。文件的分类按内容分为源程序文件和数据文件。(1)(1)源程序文件。在前几章中接触到的是源程序文件,源程序文件。在前几章中接触到的是源程序文件,源程序文件。在前几章中接触到的是
2、源程序文件,源程序文件。在前几章中接触到的是源程序文件,它既可以通过常规的编辑软件建立,也可以使用它既可以通过常规的编辑软件建立,也可以使用它既可以通过常规的编辑软件建立,也可以使用它既可以通过常规的编辑软件建立,也可以使用Turbo Turbo C C中的集成开发环境建立。本章不在复述。中的集成开发环境建立。本章不在复述。中的集成开发环境建立。本章不在复述。中的集成开发环境建立。本章不在复述。(2)(2)数据文件。数据文件是没有接触过的,数据文件。数据文件是没有接触过的,数据文件。数据文件是没有接触过的,数据文件。数据文件是没有接触过的,C C语言把数据语言把数据语言把数据语言把数据文件看作
3、是一个字符(字节)的序列,即由多个字符文件看作是一个字符(字节)的序列,即由多个字符文件看作是一个字符(字节)的序列,即由多个字符文件看作是一个字符(字节)的序列,即由多个字符(字节)数据顺序组成。(字节)数据顺序组成。(字节)数据顺序组成。(字节)数据顺序组成。11.1 11.1 技能技能1 111.1.1 认识文件认识文件【知识点】【知识点】(2)(2)二进制文件。二进制文件是把内存中的数据按其在二进制文件。二进制文件是把内存中的数据按其在二进制文件。二进制文件是把内存中的数据按其在二进制文件。二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。如果有一内存中的存储形式原
4、样输出到磁盘上存放。如果有一内存中的存储形式原样输出到磁盘上存放。如果有一内存中的存储形式原样输出到磁盘上存放。如果有一个整数个整数个整数个整数32763276,在内存中占,在内存中占,在内存中占,在内存中占2 2个字节,如果按个字节,如果按个字节,如果按个字节,如果按ASCIIASCII形式形式形式形式输出,则占输出,则占输出,则占输出,则占4 4个字节,而按二进制形式输出,在磁盘上个字节,而按二进制形式输出,在磁盘上个字节,而按二进制形式输出,在磁盘上个字节,而按二进制形式输出,在磁盘上只占只占只占只占2 2个字节。个字节。个字节。个字节。11.1 11.1 技能技能1 111.1.1 认
5、识文件认识文件【知识点】【知识点】(3)ASCII(3)ASCII文件与二进制文件的特点。文件与二进制文件的特点。文件与二进制文件的特点。文件与二进制文件的特点。用用用用ASCIIASCII码形式输出与字符一一对应,一个字节代表一码形式输出与字符一一对应,一个字节代表一码形式输出与字符一一对应,一个字节代表一码形式输出与字符一一对应,一个字节代表一个字符,因而便于对字符进行逐个处理,也便于输出个字符,因而便于对字符进行逐个处理,也便于输出个字符,因而便于对字符进行逐个处理,也便于输出个字符,因而便于对字符进行逐个处理,也便于输出字符。但一般占存储空间较多,而且要花费转换时间。字符。但一般占存储
6、空间较多,而且要花费转换时间。字符。但一般占存储空间较多,而且要花费转换时间。字符。但一般占存储空间较多,而且要花费转换时间。(二进制形式与(二进制形式与(二进制形式与(二进制形式与ASCIIASCII码间的转换)用二进制形式输出码间的转换)用二进制形式输出码间的转换)用二进制形式输出码间的转换)用二进制形式输出数值,可以节省外存空间和转换时间,但一个字节并数值,可以节省外存空间和转换时间,但一个字节并数值,可以节省外存空间和转换时间,但一个字节并数值,可以节省外存空间和转换时间,但一个字节并不对应一个字符,不能直接输出字符形式。一般中间不对应一个字符,不能直接输出字符形式。一般中间不对应一个
7、字符,不能直接输出字符形式。一般中间不对应一个字符,不能直接输出字符形式。一般中间结果数据需要暂时保存在外存上以后又需要输入到内结果数据需要暂时保存在外存上以后又需要输入到内结果数据需要暂时保存在外存上以后又需要输入到内结果数据需要暂时保存在外存上以后又需要输入到内存的,常用二进制文件保存。存的,常用二进制文件保存。存的,常用二进制文件保存。存的,常用二进制文件保存。11.1 11.1 技能技能1 111.1.2 创建文件创建文件【知识点】【知识点】1.1.文件指针变量的定义格式为:文件指针变量的定义格式为:文件指针变量的定义格式为:文件指针变量的定义格式为:FILEFILE*指针变量名指针变
8、量名指针变量名指针变量名11.1 11.1 技能技能1 111.1.2 创建文件创建文件【知识点】【知识点】【知识点】【知识点】2 2为什么要定义文件指针变量呢?其中的为什么要定义文件指针变量呢?其中的为什么要定义文件指针变量呢?其中的为什么要定义文件指针变量呢?其中的FILEFILE和和和和fpfp又是又是又是又是干什么用的呢?原因是:干什么用的呢?原因是:干什么用的呢?原因是:干什么用的呢?原因是:(1 1)每个被使用的文件都在内存中开辟一个区域,用来)每个被使用的文件都在内存中开辟一个区域,用来)每个被使用的文件都在内存中开辟一个区域,用来)每个被使用的文件都在内存中开辟一个区域,用来存
9、放该文件的有关信息,如文件的名字、文件状态以存放该文件的有关信息,如文件的名字、文件状态以存放该文件的有关信息,如文件的名字、文件状态以存放该文件的有关信息,如文件的名字、文件状态以及文件的当前位置等,及文件的当前位置等,及文件的当前位置等,及文件的当前位置等,C C语言把这些信息存入一个名为语言把这些信息存入一个名为语言把这些信息存入一个名为语言把这些信息存入一个名为FILEFILE的类型中,在使用某个文件时,可定义一个的类型中,在使用某个文件时,可定义一个的类型中,在使用某个文件时,可定义一个的类型中,在使用某个文件时,可定义一个FLIEFLIE类型的变量,从而通过该变量中的文件信息能够访
10、问类型的变量,从而通过该变量中的文件信息能够访问类型的变量,从而通过该变量中的文件信息能够访问类型的变量,从而通过该变量中的文件信息能够访问该文件。也就是说,通过文件指针变量能够找到与它该文件。也就是说,通过文件指针变量能够找到与它该文件。也就是说,通过文件指针变量能够找到与它该文件。也就是说,通过文件指针变量能够找到与它相关的文件。相关的文件。相关的文件。相关的文件。(2 2)fpfp是用户给出的文件指针变量名,它的类型是是用户给出的文件指针变量名,它的类型是是用户给出的文件指针变量名,它的类型是是用户给出的文件指针变量名,它的类型是FILEFILE型。型。型。型。11.1 11.1 技能技
11、能1 111.1.2 创建文件创建文件【知识点】【知识点】1 1文件的打开函数文件的打开函数文件的打开函数文件的打开函数fopen()fopen()一般调用形式为:一般调用形式为:一般调用形式为:一般调用形式为:FILE *fp;FILE *fp;fp=fopen(fp=fopen(文件名,使用文件方式文件名,使用文件方式文件名,使用文件方式文件名,使用文件方式)2.2.函数功能:返回一个指向函数功能:返回一个指向函数功能:返回一个指向函数功能:返回一个指向FILEFILE类型的指针。类型的指针。类型的指针。类型的指针。表表11-1常用的文件使用方式及其含义常用的文件使用方式及其含义标标示符示
12、符含含 义义标标示符示符含含 义义r r打开一个打开一个ASCIIASCII码码文件只文件只读读r+r+打开一个打开一个ASCIIASCII码码文件文件读读/写写w w创创建一个建一个ASCIIASCII码码文件只写文件只写w+w+创创建一个建一个ASCIIASCII码码文件文件读读/写写a a打开一个打开一个ASCIIASCII码码文件追加文件追加a+a+打开一个打开一个ASCIIASCII码码文件文件读读/写写rbrb打开一个二打开一个二进进制文件只制文件只读读rb+rb+打开一个二打开一个二进进制文件制文件读读/写写wbwb创创建一个二建一个二进进制文件只写制文件只写wb+wb+创创建一
13、个二建一个二进进制文件制文件读读/写写abab打开一个二打开一个二进进制文件追加制文件追加ab+ab+打开一个二打开一个二进进制文件制文件读读/写写例例例例11.1 11.1 11.1 11.1 以只读方式打开一个指定名为以只读方式打开一个指定名为以只读方式打开一个指定名为以只读方式打开一个指定名为AAA.TXTAAA.TXTAAA.TXTAAA.TXT的的的的ASCIIASCIIASCIIASCII码文件,若该文件不存在,输出码文件,若该文件不存在,输出码文件,若该文件不存在,输出码文件,若该文件不存在,输出“cannot“cannot“cannot“cannot openfile”,ope
14、nfile”,openfile”,openfile”,若打开成功,输出若打开成功,输出若打开成功,输出若打开成功,输出“success”“success”“success”“success”。#includestdio.h#includestdio.hmain()main()FILE*fp;FILE*fp;if(fp=fopen(AAA.TXT,r)=NULL)if(fp=fopen(AAA.TXT,r)=NULL)printf(cannot open filen);printf(cannot open filen);else else printf(success);printf(succe
15、ss);exit(1);exit(1);11.1 11.1 技能技能1 1【典型例题】【典型例题】11.1 11.1 技能技能1 111.1.2 创建文件创建文件【知识点】【知识点】1.1.文件的关闭一般形式为:文件的关闭一般形式为:文件的关闭一般形式为:文件的关闭一般形式为:fclose(fclose()2 2功能:使文件指针变量不再指向该文件,也就是文件功能:使文件指针变量不再指向该文件,也就是文件功能:使文件指针变量不再指向该文件,也就是文件功能:使文件指针变量不再指向该文件,也就是文件指针变量与文件指针变量与文件指针变量与文件指针变量与文件“脱离关系脱离关系脱离关系脱离关系”,此后不能
16、再通过该指,此后不能再通过该指,此后不能再通过该指,此后不能再通过该指针对其相连的文件进行读写操作,除非再次打开,使针对其相连的文件进行读写操作,除非再次打开,使针对其相连的文件进行读写操作,除非再次打开,使针对其相连的文件进行读写操作,除非再次打开,使该指针变量重新指向该文件。当成功地执行了关闭操该指针变量重新指向该文件。当成功地执行了关闭操该指针变量重新指向该文件。当成功地执行了关闭操该指针变量重新指向该文件。当成功地执行了关闭操作,函数返回作,函数返回作,函数返回作,函数返回0 0,否则返回非,否则返回非,否则返回非,否则返回非0 0。例例例例11.2 11.2 11.2 11.2 以只
17、读方式打开一个指定名为以只读方式打开一个指定名为以只读方式打开一个指定名为以只读方式打开一个指定名为“AAA.TXT”“AAA.TXT”“AAA.TXT”“AAA.TXT”的的的的ASCIIASCIIASCIIASCII码文件,若该文件不存在,返回码文件,若该文件不存在,返回码文件,若该文件不存在,返回码文件,若该文件不存在,返回cannot open cannot open cannot open cannot open filefilefilefile加以提示,然后关闭。加以提示,然后关闭。加以提示,然后关闭。加以提示,然后关闭。#includestdio.h#includestdio.h
18、main()main()FILE*fp;FILE*fp;if(fp=fopen(AAA.TXT,r)=NULL)if(fp=fopen(AAA.TXT,r)=NULL)printf(cannot open filen);printf(cannot open filen);fclosefclose(fpfp);11.1 11.1 技能技能1 1【典型例题】【典型例题】11.1 11.1 技能技能1 111.1.3 文件的读写操作文件的读写操作【知识点】【知识点】一、读文件字符函数一、读文件字符函数一、读文件字符函数一、读文件字符函数fgetc()fgetc()1.1.读文件字符函数读文件字符函数
19、读文件字符函数读文件字符函数fgetc()fgetc()的调用形式为:的调用形式为:的调用形式为:的调用形式为:ch=fgetc(fp)ch=fgetc(fp)其中其中其中其中fpfp为文件型指针变量,为文件型指针变量,为文件型指针变量,为文件型指针变量,chch为字符变量。为字符变量。为字符变量。为字符变量。2.2.功能:功能:功能:功能:fgetc()fgetc()函数带回一个字符,赋给字符变量。函数带回一个字符,赋给字符变量。函数带回一个字符,赋给字符变量。函数带回一个字符,赋给字符变量。3.3.如果在执行如果在执行如果在执行如果在执行fgetc()fgetc()读字符时遇到文件结束符,
20、函数返回读字符时遇到文件结束符,函数返回读字符时遇到文件结束符,函数返回读字符时遇到文件结束符,函数返回一个文件结束标志一个文件结束标志一个文件结束标志一个文件结束标志EOFEOF,EOFEOF在在在在stdio.hstdio.h中定义为中定义为中定义为中定义为-1-1。例例例例11.3 11.3 11.3 11.3 先在磁盘上建立一个名为先在磁盘上建立一个名为先在磁盘上建立一个名为先在磁盘上建立一个名为myfile.txtmyfile.txtmyfile.txtmyfile.txt的文件,内的文件,内的文件,内的文件,内容为:容为:容为:容为:lian xilian xilian xilia
21、n xi。从中顺序读取字符并在屏幕上显示出来。从中顺序读取字符并在屏幕上显示出来。从中顺序读取字符并在屏幕上显示出来。从中顺序读取字符并在屏幕上显示出来。#includestdio.h#includestdio.hmain()main()char ch;FILE*fp;char ch;FILE*fp;fp=fopen(myfile.txt,r);fp=fopen(myfile.txt,r);ch=fgetc(fp);ch=fgetc(fp);while(ch!=EOF)while(ch!=EOF)putchar(ch);ch=fgetc(fp);putchar(ch);ch=fgetc(fp)
22、;11.1 11.1 技能技能1 1【典型例题】【典型例题】11.1 11.1 技能技能1 111.1.3 文件的读写操作文件的读写操作【知识点】【知识点】二、写文件字符函数二、写文件字符函数二、写文件字符函数二、写文件字符函数fputc()fputc()1 1写文件字符函数写文件字符函数写文件字符函数写文件字符函数fputc()fputc()一般形式为:一般形式为:一般形式为:一般形式为:fputc(ch,fp)fputc(ch,fp)其中其中其中其中chch是要输出的字符,可以是一个字符常量,也可以是要输出的字符,可以是一个字符常量,也可以是要输出的字符,可以是一个字符常量,也可以是要输出
23、的字符,可以是一个字符常量,也可以是一个字符变量。是一个字符变量。是一个字符变量。是一个字符变量。fpfp是文件指针变量,它从是文件指针变量,它从是文件指针变量,它从是文件指针变量,它从fopen()fopen()函数函数函数函数得到返回值。得到返回值。得到返回值。得到返回值。2 2功能:将字符(功能:将字符(功能:将字符(功能:将字符(chch的值)输出到的值)输出到的值)输出到的值)输出到fpfp所指向的文件。所指向的文件。所指向的文件。所指向的文件。例例例例11.4 11.4 11.4 11.4 写文件字符函数写文件字符函数写文件字符函数写文件字符函数fputc()fputc()fput
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 技能 教程 11 课件
限制150内