欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    (中职)c语言技能教程第11章课件.ppt

    • 资源ID:71823463       资源大小:165KB        全文页数:35页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    (中职)c语言技能教程第11章课件.ppt

    (中职)c语言技能教程第11章ppt课件第第1111章章 文件文件语言技能教程语言技能教程第第 11 章章 11.1 技能技能1:创建及使用文件创建及使用文件 11.2 技能技能2:随机文件读写随机文件读写 11.1 11.1 技能技能1 111.1.1 认识文件认识文件【知识点】【知识点】1 1 文件的分类按内容分为源程序文件和数据文件。文件的分类按内容分为源程序文件和数据文件。文件的分类按内容分为源程序文件和数据文件。文件的分类按内容分为源程序文件和数据文件。(1)(1)源程序文件。在前几章中接触到的是源程序文件,源程序文件。在前几章中接触到的是源程序文件,源程序文件。在前几章中接触到的是源程序文件,源程序文件。在前几章中接触到的是源程序文件,它既可以通过常规的编辑软件建立,也可以使用它既可以通过常规的编辑软件建立,也可以使用它既可以通过常规的编辑软件建立,也可以使用它既可以通过常规的编辑软件建立,也可以使用Turbo Turbo C C中的集成开发环境建立。本章不在复述。中的集成开发环境建立。本章不在复述。中的集成开发环境建立。本章不在复述。中的集成开发环境建立。本章不在复述。(2)(2)数据文件。数据文件是没有接触过的,数据文件。数据文件是没有接触过的,数据文件。数据文件是没有接触过的,数据文件。数据文件是没有接触过的,C C语言把数据语言把数据语言把数据语言把数据文件看作是一个字符(字节)的序列,即由多个字符文件看作是一个字符(字节)的序列,即由多个字符文件看作是一个字符(字节)的序列,即由多个字符文件看作是一个字符(字节)的序列,即由多个字符(字节)数据顺序组成。(字节)数据顺序组成。(字节)数据顺序组成。(字节)数据顺序组成。11.1 11.1 技能技能1 111.1.1 认识文件认识文件【知识点】【知识点】(2)(2)二进制文件。二进制文件是把内存中的数据按其在二进制文件。二进制文件是把内存中的数据按其在二进制文件。二进制文件是把内存中的数据按其在二进制文件。二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。如果有一内存中的存储形式原样输出到磁盘上存放。如果有一内存中的存储形式原样输出到磁盘上存放。如果有一内存中的存储形式原样输出到磁盘上存放。如果有一个整数个整数个整数个整数32763276,在内存中占,在内存中占,在内存中占,在内存中占2 2个字节,如果按个字节,如果按个字节,如果按个字节,如果按ASCIIASCII形式形式形式形式输出,则占输出,则占输出,则占输出,则占4 4个字节,而按二进制形式输出,在磁盘上个字节,而按二进制形式输出,在磁盘上个字节,而按二进制形式输出,在磁盘上个字节,而按二进制形式输出,在磁盘上只占只占只占只占2 2个字节。个字节。个字节。个字节。11.1 11.1 技能技能1 111.1.1 认识文件认识文件【知识点】【知识点】(3)ASCII(3)ASCII文件与二进制文件的特点。文件与二进制文件的特点。文件与二进制文件的特点。文件与二进制文件的特点。用用用用ASCIIASCII码形式输出与字符一一对应,一个字节代表一码形式输出与字符一一对应,一个字节代表一码形式输出与字符一一对应,一个字节代表一码形式输出与字符一一对应,一个字节代表一个字符,因而便于对字符进行逐个处理,也便于输出个字符,因而便于对字符进行逐个处理,也便于输出个字符,因而便于对字符进行逐个处理,也便于输出个字符,因而便于对字符进行逐个处理,也便于输出字符。但一般占存储空间较多,而且要花费转换时间。字符。但一般占存储空间较多,而且要花费转换时间。字符。但一般占存储空间较多,而且要花费转换时间。字符。但一般占存储空间较多,而且要花费转换时间。(二进制形式与(二进制形式与(二进制形式与(二进制形式与ASCIIASCII码间的转换)用二进制形式输出码间的转换)用二进制形式输出码间的转换)用二进制形式输出码间的转换)用二进制形式输出数值,可以节省外存空间和转换时间,但一个字节并数值,可以节省外存空间和转换时间,但一个字节并数值,可以节省外存空间和转换时间,但一个字节并数值,可以节省外存空间和转换时间,但一个字节并不对应一个字符,不能直接输出字符形式。一般中间不对应一个字符,不能直接输出字符形式。一般中间不对应一个字符,不能直接输出字符形式。一般中间不对应一个字符,不能直接输出字符形式。一般中间结果数据需要暂时保存在外存上以后又需要输入到内结果数据需要暂时保存在外存上以后又需要输入到内结果数据需要暂时保存在外存上以后又需要输入到内结果数据需要暂时保存在外存上以后又需要输入到内存的,常用二进制文件保存。存的,常用二进制文件保存。存的,常用二进制文件保存。存的,常用二进制文件保存。11.1 11.1 技能技能1 111.1.2 创建文件创建文件【知识点】【知识点】1.1.文件指针变量的定义格式为:文件指针变量的定义格式为:文件指针变量的定义格式为:文件指针变量的定义格式为:FILEFILE*指针变量名指针变量名指针变量名指针变量名11.1 11.1 技能技能1 111.1.2 创建文件创建文件【知识点】【知识点】【知识点】【知识点】2 2为什么要定义文件指针变量呢?其中的为什么要定义文件指针变量呢?其中的为什么要定义文件指针变量呢?其中的为什么要定义文件指针变量呢?其中的FILEFILE和和和和fpfp又是又是又是又是干什么用的呢?原因是:干什么用的呢?原因是:干什么用的呢?原因是:干什么用的呢?原因是:(1 1)每个被使用的文件都在内存中开辟一个区域,用来)每个被使用的文件都在内存中开辟一个区域,用来)每个被使用的文件都在内存中开辟一个区域,用来)每个被使用的文件都在内存中开辟一个区域,用来存放该文件的有关信息,如文件的名字、文件状态以存放该文件的有关信息,如文件的名字、文件状态以存放该文件的有关信息,如文件的名字、文件状态以存放该文件的有关信息,如文件的名字、文件状态以及文件的当前位置等,及文件的当前位置等,及文件的当前位置等,及文件的当前位置等,C C语言把这些信息存入一个名为语言把这些信息存入一个名为语言把这些信息存入一个名为语言把这些信息存入一个名为FILEFILE的类型中,在使用某个文件时,可定义一个的类型中,在使用某个文件时,可定义一个的类型中,在使用某个文件时,可定义一个的类型中,在使用某个文件时,可定义一个FLIEFLIE类型的变量,从而通过该变量中的文件信息能够访问类型的变量,从而通过该变量中的文件信息能够访问类型的变量,从而通过该变量中的文件信息能够访问类型的变量,从而通过该变量中的文件信息能够访问该文件。也就是说,通过文件指针变量能够找到与它该文件。也就是说,通过文件指针变量能够找到与它该文件。也就是说,通过文件指针变量能够找到与它该文件。也就是说,通过文件指针变量能够找到与它相关的文件。相关的文件。相关的文件。相关的文件。(2 2)fpfp是用户给出的文件指针变量名,它的类型是是用户给出的文件指针变量名,它的类型是是用户给出的文件指针变量名,它的类型是是用户给出的文件指针变量名,它的类型是FILEFILE型。型。型。型。11.1 11.1 技能技能1 111.1.2 创建文件创建文件【知识点】【知识点】1 1文件的打开函数文件的打开函数文件的打开函数文件的打开函数fopen()fopen()一般调用形式为:一般调用形式为:一般调用形式为:一般调用形式为:FILE *fp;FILE *fp;fp=fopen(fp=fopen(文件名,使用文件方式文件名,使用文件方式文件名,使用文件方式文件名,使用文件方式)2.2.函数功能:返回一个指向函数功能:返回一个指向函数功能:返回一个指向函数功能:返回一个指向FILEFILE类型的指针。类型的指针。类型的指针。类型的指针。表表11-1常用的文件使用方式及其含义常用的文件使用方式及其含义标标示符示符含含 义义标标示符示符含含 义义r r打开一个打开一个ASCIIASCII码码文件只文件只读读r+r+打开一个打开一个ASCIIASCII码码文件文件读读/写写w w创创建一个建一个ASCIIASCII码码文件只写文件只写w+w+创创建一个建一个ASCIIASCII码码文件文件读读/写写a a打开一个打开一个ASCIIASCII码码文件追加文件追加a+a+打开一个打开一个ASCIIASCII码码文件文件读读/写写rbrb打开一个二打开一个二进进制文件只制文件只读读rb+rb+打开一个二打开一个二进进制文件制文件读读/写写wbwb创创建一个二建一个二进进制文件只写制文件只写wb+wb+创创建一个二建一个二进进制文件制文件读读/写写abab打开一个二打开一个二进进制文件追加制文件追加ab+ab+打开一个二打开一个二进进制文件制文件读读/写写例例例例11.1 11.1 11.1 11.1 以只读方式打开一个指定名为以只读方式打开一个指定名为以只读方式打开一个指定名为以只读方式打开一个指定名为AAA.TXTAAA.TXTAAA.TXTAAA.TXT的的的的ASCIIASCIIASCIIASCII码文件,若该文件不存在,输出码文件,若该文件不存在,输出码文件,若该文件不存在,输出码文件,若该文件不存在,输出“cannot“cannot“cannot“cannot openfile”,openfile”,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(success);exit(1);exit(1);11.1 11.1 技能技能1 1【典型例题】【典型例题】11.1 11.1 技能技能1 111.1.2 创建文件创建文件【知识点】【知识点】1.1.文件的关闭一般形式为:文件的关闭一般形式为:文件的关闭一般形式为:文件的关闭一般形式为:fclose(fclose()2 2功能:使文件指针变量不再指向该文件,也就是文件功能:使文件指针变量不再指向该文件,也就是文件功能:使文件指针变量不再指向该文件,也就是文件功能:使文件指针变量不再指向该文件,也就是文件指针变量与文件指针变量与文件指针变量与文件指针变量与文件“脱离关系脱离关系脱离关系脱离关系”,此后不能再通过该指,此后不能再通过该指,此后不能再通过该指,此后不能再通过该指针对其相连的文件进行读写操作,除非再次打开,使针对其相连的文件进行读写操作,除非再次打开,使针对其相连的文件进行读写操作,除非再次打开,使针对其相连的文件进行读写操作,除非再次打开,使该指针变量重新指向该文件。当成功地执行了关闭操该指针变量重新指向该文件。当成功地执行了关闭操该指针变量重新指向该文件。当成功地执行了关闭操该指针变量重新指向该文件。当成功地执行了关闭操作,函数返回作,函数返回作,函数返回作,函数返回0 0,否则返回非,否则返回非,否则返回非,否则返回非0 0。例例例例11.2 11.2 11.2 11.2 以只读方式打开一个指定名为以只读方式打开一个指定名为以只读方式打开一个指定名为以只读方式打开一个指定名为“AAA.TXT”“AAA.TXT”“AAA.TXT”“AAA.TXT”的的的的ASCIIASCIIASCIIASCII码文件,若该文件不存在,返回码文件,若该文件不存在,返回码文件,若该文件不存在,返回码文件,若该文件不存在,返回cannot open cannot open cannot open cannot open filefilefilefile加以提示,然后关闭。加以提示,然后关闭。加以提示,然后关闭。加以提示,然后关闭。#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);fclosefclose(fpfp);11.1 11.1 技能技能1 1【典型例题】【典型例题】11.1 11.1 技能技能1 111.1.3 文件的读写操作文件的读写操作【知识点】【知识点】一、读文件字符函数一、读文件字符函数一、读文件字符函数一、读文件字符函数fgetc()fgetc()1.1.读文件字符函数读文件字符函数读文件字符函数读文件字符函数fgetc()fgetc()的调用形式为:的调用形式为:的调用形式为:的调用形式为:ch=fgetc(fp)ch=fgetc(fp)其中其中其中其中fpfp为文件型指针变量,为文件型指针变量,为文件型指针变量,为文件型指针变量,chch为字符变量。为字符变量。为字符变量。为字符变量。2.2.功能:功能:功能:功能:fgetc()fgetc()函数带回一个字符,赋给字符变量。函数带回一个字符,赋给字符变量。函数带回一个字符,赋给字符变量。函数带回一个字符,赋给字符变量。3.3.如果在执行如果在执行如果在执行如果在执行fgetc()fgetc()读字符时遇到文件结束符,函数返回读字符时遇到文件结束符,函数返回读字符时遇到文件结束符,函数返回读字符时遇到文件结束符,函数返回一个文件结束标志一个文件结束标志一个文件结束标志一个文件结束标志EOFEOF,EOFEOF在在在在stdio.hstdio.h中定义为中定义为中定义为中定义为-1-1。例例例例11.3 11.3 11.3 11.3 先在磁盘上建立一个名为先在磁盘上建立一个名为先在磁盘上建立一个名为先在磁盘上建立一个名为myfile.txtmyfile.txtmyfile.txtmyfile.txt的文件,内的文件,内的文件,内的文件,内容为:容为:容为:容为:lian xilian xilian xilian 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);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是要输出的字符,可以是一个字符常量,也可以是要输出的字符,可以是一个字符常量,也可以是要输出的字符,可以是一个字符常量,也可以是要输出的字符,可以是一个字符常量,也可以是一个字符变量。是一个字符变量。是一个字符变量。是一个字符变量。fpfp是文件指针变量,它从是文件指针变量,它从是文件指针变量,它从是文件指针变量,它从fopen()fopen()函数函数函数函数得到返回值。得到返回值。得到返回值。得到返回值。2 2功能:将字符(功能:将字符(功能:将字符(功能:将字符(chch的值)输出到的值)输出到的值)输出到的值)输出到fpfp所指向的文件。所指向的文件。所指向的文件。所指向的文件。例例例例11.4 11.4 11.4 11.4 写文件字符函数写文件字符函数写文件字符函数写文件字符函数fputc()fputc()fputc()fputc()的应用的应用的应用的应用。#includestdio.h#includestdio.h#includeprocess.h#includeprocess.hmain()main()FILE*fp;FILE*fp;char ch,filename10;char ch,filename10;scanf(“%s”,filename);(scanf(“%s”,filename);(续下页)续下页)续下页)续下页)11.1 11.1 技能技能1 1【典型例题】【典型例题】例例例例11.4 11.4 11.4 11.4 写文件字符函数写文件字符函数写文件字符函数写文件字符函数fputc()fputc()fputc()fputc()的应用的应用的应用的应用。if(fp=fopen(filename,w)=NULL)if(fp=fopen(filename,w)=NULL)printf(cannot open filen);printf(cannot open filen);exit(0);exit(0);ch=getchar();ch=getchar();while(ch!=#)while(ch!=#)fputc(ch,fp);putchar(ch);ch=getchar();fputc(ch,fp);putchar(ch);ch=getchar();fclose(fp);fclose(fp);(接上页)(接上页)(接上页)(接上页)11.1 11.1 技能技能1 1【典型例题】【典型例题】11.1 11.1 技能技能1 111.1.3 文件的读写操作文件的读写操作【知识点】【知识点】三、按格式输出函数三、按格式输出函数三、按格式输出函数三、按格式输出函数fprintf()fprintf()1.1.格式输出函数格式输出函数格式输出函数格式输出函数fprintf()fprintf()一般格式一般格式一般格式一般格式 :fprintffprintf(文件指针,格式字符串,输出表列)(文件指针,格式字符串,输出表列)(文件指针,格式字符串,输出表列)(文件指针,格式字符串,输出表列)2.2.功能:按格式对文件进行写入操作。功能:按格式对文件进行写入操作。功能:按格式对文件进行写入操作。功能:按格式对文件进行写入操作。fprintf()fprintf()函数与函数与函数与函数与printfprintf()()函数作用相仿,都是格式化写函数。只有一点不同:函数作用相仿,都是格式化写函数。只有一点不同:函数作用相仿,都是格式化写函数。只有一点不同:函数作用相仿,都是格式化写函数。只有一点不同:fprintffprintf()()所写对象不是终端而是磁盘文件。所写对象不是终端而是磁盘文件。所写对象不是终端而是磁盘文件。所写对象不是终端而是磁盘文件。3.3.说明:说明:说明:说明:fprintf()fprintf()函数由于在输出时要将二进制形式转换函数由于在输出时要将二进制形式转换函数由于在输出时要将二进制形式转换函数由于在输出时要将二进制形式转换成字符,花费时间比较多。因此,尽量少用成字符,花费时间比较多。因此,尽量少用成字符,花费时间比较多。因此,尽量少用成字符,花费时间比较多。因此,尽量少用fprintf()fprintf()函函函函数。数。数。数。例例例例11.511.511.511.5将一个字符串将一个字符串将一个字符串将一个字符串“afile“afile“afile“afile和一整数和一整数和一整数和一整数100100100100写入文件写入文件写入文件写入文件 bbb.txtbbb.txtbbb.txtbbb.txt中中中中。#includestdio.h#includestdio.h#includeprocess.h#includeprocess.hFILE*fp;FILE*fp;main()main()if(fp=fopen(bbb.txt,wb)=NULL)if(fp=fopen(bbb.txt,wb)=NULL)printf(printf(不能创建该文件不能创建该文件不能创建该文件不能创建该文件n);exit(1);n);exit(1);fprintf(fp,afilefprintf(fp,afile%d%d,100);fclose(fp);,100);fclose(fp);11.1 11.1 技能技能1 1【典型例题】【典型例题】11.1 11.1 技能技能1 111.1.3 文件的读写操作文件的读写操作【知识点】【知识点】四、按格式输入函数四、按格式输入函数四、按格式输入函数四、按格式输入函数fscanf()fscanf()1.fscanf()1.fscanf()函数的一般形式:函数的一般形式:函数的一般形式:函数的一般形式:fscanf(fscanf(,)2.2.功能:按格式对文件进行读操作。功能:按格式对文件进行读操作。功能:按格式对文件进行读操作。功能:按格式对文件进行读操作。3 3说明:说明:说明:说明:由于在输入时要将由于在输入时要将由于在输入时要将由于在输入时要将ASCIIASCII码转换成二进制形式,花费时码转换成二进制形式,花费时码转换成二进制形式,花费时码转换成二进制形式,花费时间比较多,因此应少用。间比较多,因此应少用。间比较多,因此应少用。间比较多,因此应少用。例例例例11.6 11.6 11.6 11.6 将例将例将例将例11.511.511.511.5的文件的文件的文件的文件bbb.txtbbb.txtbbb.txtbbb.txt中的字符与数值读出中的字符与数值读出中的字符与数值读出中的字符与数值读出 。#includestdio.h#includestdio.h#includeprocess.h#includeprocess.hFILE*stream;FILE*stream;main()main()char*a;int b;float c;a=char*a;int b;float c;a=;if(!(stream=fopen(bbb.txt,rb)if(!(stream=fopen(bbb.txt,rb)printf(“cannot open filen”);exit(1);printf(“cannot open filen”);exit(1);(续下(续下(续下(续下页)页)页)页)11.1 11.1 技能技能1 1【典型例题】【典型例题】例例例例11.6 11.6 11.6 11.6 将例将例将例将例11.511.511.511.5的文件的文件的文件的文件bbb.txtbbb.txtbbb.txtbbb.txt中的字符与数值读出中的字符与数值读出中的字符与数值读出中的字符与数值读出 。fscanf(stream,%5s,a);fscanf(stream,%5s,a);fscanf(stream,%d,&b);fscanf(stream,%d,&b);printf(%s%dn,a,b);printf(%s%dn,a,b);fclose(stream);fclose(stream);(接上页)(接上页)(接上页)(接上页)11.1 11.1 技能技能1 1【典型例题】【典型例题】11.2 技能技能21.1.移动文件位置指针函数移动文件位置指针函数移动文件位置指针函数移动文件位置指针函数fseek()fseek()的一般形式:的一般形式:的一般形式:的一般形式:fseek fseek(文件类型指针,位移量,起始点)(文件类型指针,位移量,起始点)(文件类型指针,位移量,起始点)(文件类型指针,位移量,起始点)2.2.功能:用于移动文件位置指针,即强制使位置指针指向功能:用于移动文件位置指针,即强制使位置指针指向功能:用于移动文件位置指针,即强制使位置指针指向功能:用于移动文件位置指针,即强制使位置指针指向其它指定的位置。其它指定的位置。其它指定的位置。其它指定的位置。3.3.说明:说明:说明:说明:(1 1)“起始点起始点起始点起始点”为为为为0 0代表代表代表代表“文件开始文件开始文件开始文件开始”,1 1为为为为“当前位置当前位置当前位置当前位置”,2 2为为为为“文件末尾文件末尾文件末尾文件末尾”,如表,如表,如表,如表11-211-2所示。所示。所示。所示。【知识点】【知识点】表表11-2起始点含义起始点含义起始点起始点名字名字用数字代表用数字代表文件开始文件开始文件当前位置文件当前位置文件末尾文件末尾SEEK_SETSEEK_SETSEEK_CURSEEK_CURSEEK_ENDSEEK_END0 01 12 211.2 技能技能2(2 2)“位置量位置量位置量位置量”指以指以指以指以“起始点起始点起始点起始点”为基点,向前移动的字为基点,向前移动的字为基点,向前移动的字为基点,向前移动的字节数。节数。节数。节数。(3 3)fseek()fseek()函数一般用于二进制文件,因为文本文件将函数一般用于二进制文件,因为文本文件将函数一般用于二进制文件,因为文本文件将函数一般用于二进制文件,因为文本文件将进行字符转换,计算位置时往往会发生混乱。进行字符转换,计算位置时往往会发生混乱。进行字符转换,计算位置时往往会发生混乱。进行字符转换,计算位置时往往会发生混乱。【知识点】【知识点】11.2 技能技能21 1fwrite()fwrite()函数一般形式:函数一般形式:函数一般形式:函数一般形式:fwrite(ptr,size,n,fp)fwrite(ptr,size,n,fp)2 2功能:从功能:从功能:从功能:从ptrptr指针所指的内存地址起,读指针所指的内存地址起,读指针所指的内存地址起,读指针所指的内存地址起,读n n个长度个长度个长度个长度为为为为sizesize个字节的数据块写到指定的文件中去。个字节的数据块写到指定的文件中去。个字节的数据块写到指定的文件中去。个字节的数据块写到指定的文件中去。【知识点】【知识点】11.2.1随机写入函数随机写入函数fwrite()例例例例11.7 11.7 11.7 11.7 将某个班学生的姓名、单科分数写入将某个班学生的姓名、单科分数写入将某个班学生的姓名、单科分数写入将某个班学生的姓名、单科分数写入www.datwww.datwww.datwww.dat文件文件文件文件。#includestdio.h#includestdio.h#includeprocess.h#includeprocess.hmain()main()int i,num,numb;char a8;FILE*fp;int i,num,numb;char a8;FILE*fp;if(!(fp=fopen(www.dat,wb)if(!(fp=fopen(www.dat,wb)printf(printf(不能打开或创建文件不能打开或创建文件不能打开或创建文件不能打开或创建文件n);n);exit(1);exit(1);(续下页)(续下页)(续下页)(续下页)11.2 11.2 技能技能2 2【典型例题】【典型例题】例例例例11.7 11.7 11.7 11.7 将某个班学生的姓名、单科分数写入将某个班学生的姓名、单科分数写入将某个班学生的姓名、单科分数写入将某个班学生的姓名、单科分数写入www.datwww.datwww.datwww.dat文件文件文件文件。scanf(%d,&numb);scanf(%d,&numb);for(i=0;inumb;i+)for(i=0;inumb;i+)scanf(%s%d,a,&num);scanf(%s%d,a,&num);fwrite(a,8,1,fp);fwrite(a,8,1,fp);fwrite(&num,2,1,fp);fwrite(&num,2,1,fp);fclose(fp);fclose(fp);(接上页)(接上页)(接上页)(接上页)11.2 11.2 技能技能2 2【典型例题】【典型例题】11.2 技能技能21.fread()1.fread()函数的一般形式:函数的一般形式:函数的一般形式:函数的一般形式:fread(ptr,size,n,fp)fread(ptr,size,n,fp)2.2.功能:功能:功能:功能:fread()fread()是从指定的文件(是从指定的文件(是从指定的文件(是从指定的文件(fpfp)中读长度为)中读长度为)中读长度为)中读长度为sizesize个字节的个字节的个字节的个字节的n n个数据块,读到个数据块,读到个数据块,读到个数据块,读到ptrptr指针所指的内存指针所指的内存指针所指的内存指针所指的内存地址中去。地址中去。地址中去。地址中去。【知识点】【知识点】11.2.2 随机读函数随机读函数fread()例例例例11.8 11.8 11.8 11.8 利用上例利用上例利用上例利用上例www.datwww.datwww.datwww.dat文件(假设共有文件(假设共有文件(假设共有文件(假设共有35353535人),将人),将人),将人),将 所有学生的数据读出并显示所有学生的数据读出并显示所有学生的数据读出并显示所有学生的数据读出并显示。#includestdio.h#includestdio.hmain()main()int i,num;char a8;FILE*fp;int i,num;char a8;FILE*fp;if(!(fp=open(www.dat,rb)if(!(fp=open(www.dat,rb)printf(cannot open filen);printf(cannot open filen);exit(1);exit(1);(续下页)(续下页)(续下页)(续下页)11.2 11.2 技能技能2 2【典型例题】【典型例题】例例例例11.8 11.8 11.8 11.8 利用上例利用上例利用上例利用上例www.datwww.datwww.datwww.dat文件(假设共有文件(假设共有文件(假设共有文件(假设共有35353535人),将人),将人),将人),将 所有学生的数据读出并显示所有学生的数据读出并显示所有学生的数据读出并显示所有学生的数据读出并显示。for(i=0;i35;i+)for(i=0;i35;i+)fread(a,8,1,fp);fread(a,8,1,fp);fread(&num,2,1,fp);fread(&num,2,1,fp);printf(nn%s%dn,a,num);printf(nn%s%dn,a,num);fclose(fp);fclose(fp);(接上页)(接上页)(接上页)(接上页)11.2 11.2 技能技能2 2【典型例题】【典型例题】利用利用利用利用fread()fread()函数和函数和函数和函数和fwrite()fwrite()函数可实现文件的随机读写,函数可实现文件的随机读写,函数可实现文件的随机读写,函数可实现文件的随机读写,但在进行随机读写操作时,一定要注意文件的位置指针。但在进行随机读写操作时,一定要注意文件的位置指针。但在进行随机读写操作时,一定要注意文件的位置指针。但在进行随机读写操作时,一定要注意文件的位置指针。只有将其调整到将要读写的位置时,才叫做真正的随机只有将其调整到将要读写的位置时,才叫做真正的随机只有将其调整到将要读写的位置时,才叫做真正的随机只有将其调整到将要读写的位置时,才叫做真正的随机读写。读写。读写。读写。11.2 11.2 技能技能2 2【点拔】【点拔】理论与上机实习双指导理论与上机实习双指导一、学习目标一、学习目标1了解磁盘文件的概念、文件的分类以及了解磁盘文件的概念、文件的分类以及ASCII码文码文件与二进制文件的区别。件与二进制文件的区别。2掌握文件的打开与关闭函数的使用方法。掌握文件的打开与关闭函数的使用方法。(1)文件的打开函数文件的打开函数fopen()FILE *fp;fp=fopen(文件名,使用文件方式文件名,使用文件方式)(2)文件的关闭函数文件的关闭函数fclose()fclose()3能够按照要求对文件的顺序读写与随机读写。能够按照要求对文件的顺序读写与随机读写。理论与上机实习双指导理论与上机实习双指导二、常见问题及上机注意事项二、常见问题及上机注意事项1使用文件时容易忘记打开文件这一步骤。使用文件时容易忘记打开文件这一步骤。2注意,如果不及时关闭文件,可能会丢失部分数据。注意,如果不及时关闭文件,可能会丢失部分数据。3在进行文件打开时,打开文件方式与实际对文件的在进行文件打开时,打开文件方式与实际对文件的使用情况不符合。使用情况不符合。4.操作磁盘文件时,路径书写方式不正确。在操作磁盘操作磁盘文件时,路径书写方式不正确。在操作磁盘文件时,多级路径应该用两个文件时,多级路径应该用两个“”进行指出,而不能进行指出,而不能只写一个只写一个“”。5.在对文件进行随机读写时,一定要注意文件指针的位在对文件进行随机读写时,一定要注意文件指针的位置,不将其调整到相应的位置,结果一定会出错。置,不将其调整到相应的位置,结果一定会出错。

    注意事项

    本文((中职)c语言技能教程第11章课件.ppt)为本站会员(春哥&#****71;)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开