书签 分享 收藏 举报 版权申诉 / 43
上传文档赚钱

类型程序设计基础C语言第13章-文件操作课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4148171
  • 上传时间:2022-11-14
  • 格式:PPT
  • 页数:43
  • 大小:1.10MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《程序设计基础C语言第13章-文件操作课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    程序设计 基础 语言 13 文件 操作 课件
    资源描述:

    1、精选课件ppt1精选课件ppt2内容提要内容提要精选课件ppt3Von J.Neumann architecture输入输入/输出输出设备设备存储器存储器运算器运算器控制器控制器程序程序和输入数据和输入数据输出结果输出结果取出数据取出数据存入数据存入数据操作命令操作命令存取命令存取命令取出取出程序指令程序指令输入输出输入输出命令命令计算结果计算结果CPU大脑大脑记忆装置记忆装置(Memory)眼睛和眼睛和耳朵耳朵(I/O devices)精选课件ppt4I/O设备设备精选课件ppt5#include struct studentint num;char name10;float score3;

    2、void main()struct student stu3;int i;printf(请输入学生信息请输入学生信息n);for(i=0;i3;i+)scanf(%d%s%f%f%f,&stui.num,stui.name,&stui.score0,&stui.score1,&stui.score2);for(i=0;i3;i+)printf(%d%s%.2f%.2f%.2fn,stui.num,stui.name,stui.score0,stui.score1,stui.score2);精选课件ppt6精选课件ppt7文件的存放(文件的存放(Storage)精选课件ppt813.1二进制文件

    3、和文本文件二进制文件和文本文件 如果存整数如果存整数12341234呢?呢?精选课件ppt9ASCII文件和二进制文件的比较:ASCII文件便于对字符进行逐个处理,也便于输出字符。但一般占存储空间较多,而且要花费转换时间。二进制文件可以节省外存空间和转换时间,但一个字节并不对应一个字符,不能直接输出字符形式。一般中间结果数据需要暂时保存在外存上,以后又需要输入内存的,常用二进制文件保存。精选课件ppt10文件的格式(文件的格式(Format of Files)精选课件ppt11所有有关文件的操作都离不开文件指针所有有关文件的操作都离不开文件指针用文件指针代表一个文件,对文件的操作都是通过用文件

    4、指针代表一个文件,对文件的操作都是通过相应文件的文件指针来完成相应文件的文件指针来完成文件指针是文件指针是C C为我们提供的一种文件类型的指针变为我们提供的一种文件类型的指针变量,它的具体定义方法是量,它的具体定义方法是 FILE FILE*fp;fp;有了这样的定义之后,有了这样的定义之后,fpfp就可以指向一个文件就可以指向一个文件精选课件ppt12文件指针文件指针()()对文件的操作都是通过各种函数来实现的对文件的操作都是通过各种函数来实现的精选课件ppt1313.2文件的打开和关闭文件的打开和关闭精选课件ppt14精选课件ppt1513.2文件的打开和关闭文件的打开和关闭精选课件ppt

    5、16#include void main()FILE*fp;if(fp=fopen(test.txt,r)=NULL)printf(Failure to open demo.txt!n);exit(0);fclose(fp);精选课件ppt1713.3按字符读写文件按字符读写文件 精选课件ppt1813.3按字符读写文件按字符读写文件 为什么要判断文件打开是否成功呢?为什么要判断文件打开是否成功呢?#include#include void main()FILE*fp;char ch;if(fp=fopen(demo.txt,w)=NULL)printf(Failure to open dem

    6、o.txt!n);exit(0);ch=getchar();while(ch!=n)fputc(ch,fp);ch=getchar();fclose(fp);精选课件ppt19#include#include void main()FILE*fp;char ch;int i;if(fp=fopen(demo.bin,wb)=NULL)printf(Failure to open demo.bin!n);exit(0);for(i=0;i128;i+)fputc(i,fp);fclose(fp);if(fp=fopen(demo.bin,rb)=NULL)printf(Failure to op

    7、en demo.bin!n);exit(0);while(ch=fgetc(fp)!=EOF)putchar(ch);fclose(fp);函数函数feof()检查是否到达文件尾,检查是否到达文件尾,当文件位置指针指向文件尾时,返当文件位置指针指向文件尾时,返回非回非0值,否则返回值,否则返回0值值精选课件ppt20while(ch=fgetc(fp)!=EOF)if(isprint(ch)printf(%ct,ch);elseprintf(%dt,ch);精选课件ppt21例:复制文件例:复制文件#include#include void main()FILE*in,*out;char in

    8、,out;printf(Enter the in:n);scanf(%s,infile);printf(Enter the out:n);scanf(%s,outfile);if(in=fopen(infile,rb)=NULL)printf(cannot open infilen);exit(0);if(out=fopen(outfile,wb)=NULL)printf(cannot open outfilen);exit(0);while(!feof(in)fputc(fgetc(in),out);fclose(in);fclose(out);精选课件ppt22例:复制例:复制文件,利文件

    9、,利用命令行用命令行参数输入参数输入两个文件两个文件名名#include#include main(int argc,char*argv)FILE*in,*out;if(argc!=3)printf(You forgot to enter a n);exit(0);if(in=fopen(argv1,rb)=NULL)printf(cannot open infilen);exit(0);if(out=fopen(argv2,wb)=NULL)printf(cannot open outfilen);exit(0);while(!feof(in)fputc(fgetc(in),out);fcl

    10、ose(in);fclose(out);精选课件ppt2313.5按数据块读写文件按数据块读写文件精选课件ppt24 使用举例:若文件以二进制形式打开:fread(f,4,2,fp);此函数从fp所指向的文件中读入2个4个字节的数 据,存储到指针f所指向的空间中。精选课件ppt25使用举例:若有如下结构类型:struct student_typechar name10;int num;int age;char addr30;stud40;可以用fread和fwrite来进行数据的操作:for(;)fread(&studi,sizeof(struct student_type),1,fp);fo

    11、r(;,)fwrite(&studi,sizeof(struct student_type),1,fp);fread(stud,sizeof(struct student_type),40,fp);fwrite(stud,sizeof(struct student_type),40,fp);精选课件ppt26例例 从键盘输入个学生的有关数据,然后把它们转从键盘输入个学生的有关数据,然后把它们转存到磁盘文件上去。存到磁盘文件上去。#include#define SIZE 4typedef struct student_typechar name10;int num;int age;char ad

    12、dr15;STUDENT;void main()void save(STUDENT stud);STUDENT studSIZE;int i;for(i=0;iSIZE;i+)scanf(%s%d%d%s,studi.name,&studi.num,&studi.age,studi.addr);save(stud);精选课件ppt27void save(STUDENT stud)FILE*fp;int i;if(fp=fopen(stu_list,wb)=NULL)printf(cannot open filen);return;for(i=0;iSIZE;i+)if(fwrite(&stud

    13、i,sizeof(struct student_type),1,fp)!=1)printf(errorn);fclose(fp);精选课件ppt28例例 验证上面程序生成的验证上面程序生成的stu_list文件是否存在,从文文件是否存在,从文件中读出数据并显示在屏幕上。件中读出数据并显示在屏幕上。#include#define SIZE 4struct studentchar name10;int num;int age;char addr15;void main()struct student stud;int i;FILE*fp;if(fp=fopen(stu_list,rb)=NULL)

    14、printf(打开文件错误!打开文件错误!n);return;for(i=0;iSIZE;i+)fread(&stud,sizeof(struct student),1,fp);printf(%-10s%4d%4d%15sn,stud.name,stud.num,stud.age,stud.addr);fclose(fp);精选课件ppt29精选课件ppt30精选课件ppt31精选课件ppt32精选课件ppt33精选课件ppt34精选课件ppt3513.3按字符读写文件按字符读写文件精选课件ppt3613.4按格式读写文件按格式读写文件lfscanf(fp,%d,%f,&i,&t);l第1个参

    15、数为文件指针,第2 个参数为格式控制参数,第3 个参数为地址参数表列lfprintf(fp,%d,%6.2f,i,t);l第1个参数为文件指针,第2 个参数为格式控制参数,第3 个参数为输出参数表列精选课件ppt37文件读写函数:文件读写函数:分类分类 函数名函数名 功能功能 打开文件打开文件 fopen()打开文件打开文件 关闭文件关闭文件 fclose()关闭文件关闭文件文件读写文件读写 fgetc()从指定文件取得一个字符从指定文件取得一个字符 fputc()把字符输出到指定文件把字符输出到指定文件 fgets()从指定文件读取字符串 fputs()把字符串输出到指定文件 fread()

    16、从指定文件中读取数据项从指定文件中读取数据项 fwrite()把数据项写到指定文件中把数据项写到指定文件中 fscanf()从指定文件按格式输入数据 fprintf()按指定格式将数据写到指定文件中精选课件ppt3813.6 扩充内容扩充内容13.6.1 文件的随机读写文件的随机读写fseek()改变文件位置指针的位置改变文件位置指针的位置rewind()使文件位置指针重新置于文件开头使文件位置指针重新置于文件开头ftell()返回文件位置指针的当前值返回文件位置指针的当前值精选课件ppt39rewind函数:使位置指针重新返回文件的开头,无返回值。#includevoid main()FIL

    17、E*fp1,*fp2;fp1=fopen(,r);fp2=fopen(,w);while(!feof(fp1)putchar(fgetc(fp1);rewind(fp1);while(!feof(fp1)fputc(fgetc(fp1),fp2);fclose(fp1);fclose(fp2);精选课件ppt40fseek函数函数功能:函数功能:改变文件的位置指针。函数调用形式函数调用形式:fseek(文件类型指针,位移量,起始点)起始点:文件开头 SEEK_SET 0 文件当前位置 SEEK_CUR 1 文件末尾 SEEK_END 2位移量:以起始点为基点,向前移动的字节数。一般 要求为lo

    18、ng型。精选课件ppt41fseek函数应用举例fseek(fpfseek(fp,100L100L,);,);将位置指针移到离文件头将位置指针移到离文件头100100个字节处。个字节处。fseek(fpfseek(fp,50L50L,););将位置指针移到离当前位置将位置指针移到离当前位置5050个字节处。个字节处。fseek(fpfseek(fp,-10L-10L,););将位置指针从文件末尾处向后退个字节。将位置指针从文件末尾处向后退个字节。精选课件ppt42#include#includestruct student_typechar name10;int num;int age;cha

    19、r sex;stud;void main()int i;FILE *fp;if(fp=fopen(stud_dat,rb)=NULL)printf(can not open filen);exit(0);for(i=0;i10;i+=2)fseek(fp,i*sizeof(struct student_type),0);fread(&stud,sizeof(struct student_type),1,fp);printf(%s%d%d%cn,stud.name,stud.num,stud.age,stud.sex);fclose(fp);。精选课件ppt43ftell函数函数作用:得到流式文件中的当前位置,用相对于文件开头的位移量来表示。返回值:返回当前位置,出错时返回-1L。应用举例:i=ftell(fp);if(i=-1L)printf(“errorn”);

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:程序设计基础C语言第13章-文件操作课件.ppt
    链接地址:https://www.163wenku.com/p-4148171.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库