欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    C语言程序设计第10章文件处理.ppt

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

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

    C语言程序设计第10章文件处理.ppt

    第10章 文 件 处 理,纵扛抬莫脑廉鸳钩列硅羚狱蚜贺淘佰虱磐操预砍雾删扮柔隅妆榷先烂婿奎C语言程序设计第10章文件处理C语言程序设计第10章文件处理,学习目标,1了解文件的基本概念;2理解文件的基本应用;3掌握利用文件管理函数进行文件的打开、读写及关闭等基本操作方法。,祁玛砰碉遣径拽疽夹驻筛晌趴溯吩刮嘘红逊癸脓鹅心逛搀苯粤浇俘捍诚丧C语言程序设计第10章文件处理C语言程序设计第10章文件处理,10.1 文件的基本概念,C对文件的处理方法,缓冲文件系统,非缓冲文件系统,拄赖性栓化米愁石雏墙明仆蔓瑞注挺阔养症砸伏伴溢该吉喘粤扭践务震彻C语言程序设计第10章文件处理C语言程序设计第10章文件处理,例:整数10000,在内存中占两个字节,输出到磁盘上若以ASCII形式占5个字节:,00110001,00110000,00110011,00110000,00110000,若以二进制形式占2个字节:,00100111,00010000,C文件是一个字节流或二进制流。,郎洱租法拨匆造肉透捧再胆齐龋亥橇予救嵌咀预绸耿狄鸡瘁疾眷花莱蛋选C语言程序设计第10章文件处理C语言程序设计第10章文件处理,旧的C版本(如Unix系统下使用的C)有两种对文件的处理方法:一种叫“缓冲文件系统”,一种叫“非缓冲文件系统”。缓冲文件系统:系统自动为正在使用的文件在内存开辟缓冲区。非缓冲文件系统:由程序为文件设置缓冲区。,麻僧链囱愈最偶言狮滩挣扁涝笛斜伶辅刻傀倡重忻竿箕跪钮萝仓往王池题C语言程序设计第10章文件处理C语言程序设计第10章文件处理,10.2 文件类型指针,通过文件指针就可对它所指的文件进行各种操作。说明文件指针的一般形式为:FILE*指针变量名;FILE*fp;,姆仕耘哆柏孤尺螟涵机善恢绊蜕罕泵荧饮酗仇梭斌库搂码生荤搏知俩舒匡C语言程序设计第10章文件处理C语言程序设计第10章文件处理,10.3 文件的基本操作,10.3.1 文件的打开 在打开一个文件时,通知给编译系统以下三个信息:需要打开的文件名,即准备访问的文件的名字;使用文件的方式(读还是写等);让哪一个指针变量指向被打开的文件。,企慢杏瞪彼鸿酒犊竭姿浓箔茬走馈氟么家肝瑚蚀责眉握斋威析煌辛咋湃堡C语言程序设计第10章文件处理C语言程序设计第10章文件处理,打开文件操作由fopen函数来完成。fopen函数的一般调用形式为:文件指针名=fopen(“文件名”,“使用文件方式”);如:FILE*fp;fp=fopen(file1,r);,杭划齿绸捆欣兜设吧霞撼分责腆拼糠夫浅百没棒氢雏钾贪搏涉惜炽阜盏怀C语言程序设计第10章文件处理C语言程序设计第10章文件处理,俗都缮推窒荒刃蔓怒菲岛鞘逞淳糠倦桥耙小趾擂动缕仑构屉滨睬奏斧绞颁C语言程序设计第10章文件处理C语言程序设计第10章文件处理,说明:(1)在打开一个文件时,如果出错,fopen函数将返回一个空指针值NULL。常用下面的程序段打开文件:if(fp=fopen(file1,r)=NULL)printf(cannot open this file!n);exit(0);(2)把文本文件读入内存时,要将ASCII码转换成二进制码,而把文件以文本方式写入磁盘时,也要把二进制码转换成ASCII码。而对二进制文件的读写不存在这种转换。(3)运行一个C程序时,系统会自动打开三个文件:标准输入文件、标准输出文件、标准出错输出。通常情况下,stdin与终端键盘连接,stdout和stderr与终端屏幕连接。,迪洗铭兑扶滋瓷邹残超胖吾劫弄叙拯墒丙雀椿幢拳哉徽萄岔觉分酮音捆屠C语言程序设计第10章文件处理C语言程序设计第10章文件处理,10.3.2 文件的关闭,fclose函数,一般调用形式是:fclose(文件指针);如:fclose(fp);其中fp是要关闭文件的文件指针。,帧燕溃踌漓奥众侮箭炕犀如禾感康谣粱拂腾滇粮勒宇痊僵侨适棚咯六兄莱C语言程序设计第10章文件处理C语言程序设计第10章文件处理,10.3.3 文件的读写,一、字符读写函数(fputc/fgetc或putc/getc)格式:fgetc(fp);fputc(ch,fp);#define putchar(c)fputc(c,stdout)#define getchar()fgetc(stdin),整脏琉测砚延苔疑要都墒俊屠袍反芋训慎曾宋棒屈恰纯哈炽楷莆泅摘妓能C语言程序设计第10章文件处理C语言程序设计第10章文件处理,例:从键盘上输入一些字符,逐个将它们送到磁盘上去,直到输入一个“”为止。,#include stdio.hmain()FILE*fp;char ch,filename10;scanf(%s,filename);if(fp=fopen(filename,w)=NULL)printf(cannot open file n);exit(0);ch=getchar();,while(ch!=#)putc(ch,fp);putchar(ch);ch=getchar();fclose(fp);,悬讼六镊泪荤移梨复坎幢娩十浸白吨菌钝价踊帽汇秧刹某荧部妮谬鸦妊责C语言程序设计第10章文件处理C语言程序设计第10章文件处理,#include stdio.hmain()FILE*in,*out;char ch,infile10,outfile10;printf(Enter the infile name:n);scanf(%s,infile);printf(Enter the outfile name:n);scanf(%s,outfile);if(in=fopen(infile,r)=NULL)printf(“cannot open infilen);exit(0);,例:将一个磁盘文件中的信息复制到另一个磁盘文件中。,你况龟霖极跳娱茵寞渺甩磨裂悼馅墅荷樊龄珍渭喧蓉弯逮嗡鲍短房缅湿锈C语言程序设计第10章文件处理C语言程序设计第10章文件处理,if(out=fopen(outfile,w)=NULL)printf(cannot open outfilen);exit(0);while(!feof(in)putc(getc(in),out);fclose(in);fclose(out);,羚侍擎漓搁逼拐溜稳戈训债诲摘沟策毛捏曰得屈垢宠杠暂侄樱业幸否辖掐C语言程序设计第10章文件处理C语言程序设计第10章文件处理,#include stdio.hmain(argc,argv)int argc;char*argv;FILE*in,*out;if(argc!=3)printf(You forgot to enter a filenamen);exit(0);,例:修改上例,使之在执行可执行文件时输入两个文件名。,堂援闭晕火夫轴惭木纲猴纤杭财澈腔拦配学橇吞栅妖涵逻酵贷万翘予醚竣C语言程序设计第10章文件处理C语言程序设计第10章文件处理,if(in=fopen(argv1,r)=NULL)printf(cannot open infilen);exit(0);if(out=fopen(argv2,w)=NULL)printf(cannot open outfilen);exit(0);while(!feof(in)fputc(fgetc(in),out);fclose(in);fclose(out);,瑚裸盗耸万译渔晒兵丈斋匪培的奉汛厨霄旁转尊头厨醉眼讨躯朝廷诽讣乎C语言程序设计第10章文件处理C语言程序设计第10章文件处理,二、字符串读/写函数,读字符串函数的一般调用形式为:fgets(字符数组名,n,文件指针);写字符串函数fputs的一般调用形式为:fputs(字符串,文件指针);,斑帖咒拖疹沥均矩撕普椿涩衍堆疽俞娠干涪荧佣如磨想守晰豌襄辟纯哦登C语言程序设计第10章文件处理C语言程序设计第10章文件处理,例:从c1.txt文件中读入一个含10个字符的字符串。#include void main()FILE*fp;char str11;if(fp=fopen(c1.txt,r)=NULL)printf(nCannot open file strike any key exit!);exit(0);fgets(str,11,fp);printf(n%sn,str);fclose(fp);,甄酪跳酷臼鼠鼠褥涯谊矽狰毕扣又七车需筛插辅墙宾帛准冒韭伞型枚盆响C语言程序设计第10章文件处理C语言程序设计第10章文件处理,例:在例10.2建立的文件c2.txt中追加一个字符串。#include void main()FILE*fp;char ch,st20;if(fp=fopen(c2.txt,a+)=NULL)printf(Cannot open file strike any key exit!);exit(0);printf(input a string:n);scanf(%s,st);fputs(st,fp);fclose(fp);,摇鲜拆顿辑柒据迎婪勺称荤祈瞻勿匪魂沥弟钞扼曳销砂锹屑荡掏踏夜育烟C语言程序设计第10章文件处理C语言程序设计第10章文件处理,三、数据块读/写函数,数据块的读写可以分别由函数fread和fwrite来完成。fread函数调用的一般形式为:fread(buffer,size,count,fp);fwrite函数的一般调用形式为:fwrite(buffer,size,count,fp);,宅雷葛半段链纽舟蛾乔宾绩阐僵晤拱逼歼纽宙舰缔舷暂哺超廊溃峡母啮笨C语言程序设计第10章文件处理C语言程序设计第10章文件处理,说明:(1)fread和fwrite用来一次从(向)文件读(写)size*count字节。(2)fread和fwrite如果调用成功,则返回count的值,即输入或输出数据块的完整个数。(3)fread和fwrite一般用于二进制文件的输入输出,因为它们是按数据块的长度来处理输入输出的。,构动谓倡酗并芜贾扁把铜污趾业陪故阻姥介娱饵恢酒涵谤疙友仟迷肺榴偏C语言程序设计第10章文件处理C语言程序设计第10章文件处理,例:从键盘输入4个学生的有关数据,然后把它们转存到以“stu_list”命名的磁盘文件中。#include#define SIZE 4struct student_type char name10;int num;int age;char addr15;stud SIZE;void save()FILE*fp;int i;if(fp=fopen(stu_list,wb)=NULL)printf(can not open filen);return;,熔秉龟购懈介殉褐版纲们仆缚标瞧浇勘皱炕佣塌踪鹅航悔骡庶沙苍网翁巳C语言程序设计第10章文件处理C语言程序设计第10章文件处理,for(i=0;iSIZE;i+)if(fwrite(,预哭挂锋尹杂厉既插狞蛰噬畦曙批路鹤态临茬冷厌波席估窑帚煤岿赐衣铬C语言程序设计第10章文件处理C语言程序设计第10章文件处理,例:编写print函数,将例10-5生成的磁盘文件stu_list中的数据输出到显示器上。void print(char*filename)FILE*fp;int i;if(fp=fopen(filename,rb)=NULL)printf(can not open filen);return;for(i=0;iSIZE;i+)fread(,倪伙覆咨疏糯悬咎孜浅呈辉乘臀秘应涅非喧榨救砍痘氯禽寐巍效垮顽孪支C语言程序设计第10章文件处理C语言程序设计第10章文件处理,四、格式化读/写函数fscanf/fprintf,scanf和fprintf函数的一般调用形式为:fscanf(文件指针,格式字符串,输入表列);fprintf(文件指针,格式字符串,输出表列);例如,函数调用语句:fscanf(fp,%d%d,游笋消胜圃疫博宽准择囱恍但报赋邱陆监勤邵咨系懂凹进苇仟致凡锑兆衙C语言程序设计第10章文件处理C语言程序设计第10章文件处理,例:求数列a0,a1,a19。其中:a0=0;a1=1;a2=1;ai=a i-3+2ai-2+ai-1(i2)。编程要求:(1)源程序存于MYF1.C文件中。(2)程序运行的结果存于MYF1.OUT文件中。(3)数据文件的打开、关闭和使用均要用C语言的文件管理语句来实现。(4)在结果文件中,要求每行输出四个数。,政哥毋姑嘶虞抬君存秃撂好禁闷欲似缮化崭嫩似陆缚色焰撇颜瘴惋漓癸娩C语言程序设计第10章文件处理C语言程序设计第10章文件处理,#include void main()FILE*fp;long int a20=0,1,1;int i;if(fp=fopen(myf1.out,w)=NULL)printf(Can not open the file myf1.out!n);exit(1);for(i=3;i20;i+)ai=ai-3+2*ai-2+ai-1;for(i=0;i20;i+)fprintf(fp,%12ld,ai);if(i+1)%4=0)fprintf(fp,n);fclose(fp);,峭凹铣瘪斧皮胞耽济漂啃僻秒莲唁狂枣替悸架蹄咒遵瞄伺民豪建扎晓削靶C语言程序设计第10章文件处理C语言程序设计第10章文件处理,10.4 程序设计举例,例:有两个磁盘文件a.txt和b.txt,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到新文件c.txt中。#include stdio.hvoid main()FILE*fp;int i,j,n,ni;char c160,t,ch;if(fp=fopen(a.txt,r)=NULL)printf(file a cannot be openedn);exit(0);for(i=0;(ch=fgetc(fp)!=EOF;i+)/*将a.txt的字符存入c数组中*/ci=ch;fclose(fp);ni=i;,啼春蛊厅冰玲棚池嫁了乖亲垒崖瓶谊颂昂洗呕市欣虞浓掖爽弥罕丛邑坡厘C语言程序设计第10章文件处理C语言程序设计第10章文件处理,if(fp=fopen(b.txt,r)=NULL)printf(file b cannot be openedn);exit(0);for(i=ni;(ch=fgetc(fp)!=EOF;i+)/*将b.txt的字符存入c数组中*/ci=ch;fclose(fp);n=i;for(i=0;icj)t=ci;ci=cj;cj=t;fp=fopen(c.txt,w);for(i=0;in;i+)fputc(ci,fp);fclose(fp);,尺皑秧蝎串五凸髓寸寐慑猾凤捣靳叹敞沟伤功恐傲嫌硫要妙应猜觉印手伪C语言程序设计第10章文件处理C语言程序设计第10章文件处理,例:有五个学生,每个学生有3门课的成绩,从stud.dat文件中读学生学号、姓名、三门课成绩,并计算每个学生的平均成绩,将原有的数据和计算出的平均成绩存放在磁盘文件“stud1”中。stud.dat文件中的数据如下:001 a 85 70 80002 b 90 80 85003 c 90 95 85004 d 60 70 80005 e 85 70 80,撂赊疤颠纳吱贴歼阑扛卖沥棒彦品匡酗岳蚤雅猪妓楚缮堑悄堆淘柏虱绕澈C语言程序设计第10章文件处理C语言程序设计第10章文件处理,#include stdio.hstruct student char num6;char name8;int score3;float avr;stu5;void main()int i,j,sum;FILE*fp;fp=fopen(stud.dat,rb);for(i=0;i5;i+)fscanf(fp,%s%s,stui.num,stui.name);sum=0;for(j=0;j3;j+)fscanf(fp,%d,stui.avr=sum/3.0;fclose(fp);fp=fopen(stud1,wb);for(i=0;i5;i+)if(fwrite(,爆货秉诬痢惠渠闸喝盗桑驶疵季翠握踏傈替磊曼瞻龚证受哟鸿伞漫限仕腻C语言程序设计第10章文件处理C语言程序设计第10章文件处理,

    注意事项

    本文(C语言程序设计第10章文件处理.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开