ImageVerifierCode 换一换
格式:PPT , 页数:26 ,大小:454.50KB ,
资源ID:9735662      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9735662.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(重点《C/C程序设计》文件.ppt)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

重点《C/C程序设计》文件.ppt

1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,概述,开关文件,读写文件,文件定位,第七章,文 件,文件:存储在外部介质上数据的集合,是操作系统数据管理的单位,文件分类,按文件的逻辑结构:,记录文件:由具有一定结构的记录组成(定长和不定长),流式文件,:由一个个字符(字节)数据顺序组成,按存储介质:,普通文件:存储介质文件(磁盘、磁带等),设备文件,:非存储介质(键盘、显示器、打印机等),按数据的组织形式:,文本文件,:,ASCII,文件,每个字节存放一个字符的,AS

2、CII,码,二进制文件,:数据按其在内存中的存储形式原样存放,C,文件概述,使用数据文件的目的,1,、数据文件的改动不引起程序的改动,程序与数据分离,2,、不同程序可以访问同一数据文件中的数据,数据共享,3,、能,长期保存,程序运行的中间数据或结果数据,如,int,型数10000,0010011100010000,内存存储形式,0010011100010000,二进制形式,0011000100110000001100000011000000110000,ASCII,形式,文本文件特点,:,存储量大、速度慢、便于对字符操作,二进制文件特点,:,存储量小、速度快、便于存放中间结果,如,int,型数

3、10000,0010011100010000,内存存储形式,0010011100010000,二进制形式,0011000100110000001100000011000000110000,ASCII,形式,文本文件特点,:,存储量大、速度慢、便于对字符操作,文件处理方法,缓冲文件系统,:,高级,文件系统,系统自动为正在使用的文件开辟内存缓冲区,非缓冲文件系统,:低级文件系统,由用户在程序中为每个文件设定缓冲区,磁盘文件,输出文件缓冲区,输入文件缓冲区,程序数据区,a,缓冲文件系统:,缓冲区,指令区,程序,用户数据区,磁盘,非缓冲文件系统:,文件类型指针,文件结构体,FILE,缓冲文件系统为每个

4、正使用的文件在内存开辟文件信息区,文件信息用系统定义的名为,FILE,的结构体描述,FILE,定义在,stdio.h,中,typedef struct,int _fd;,/,文件号,int _cleft;,/,缓冲区中剩下的字符数,int _mode;,/,文件操作方式,char *_next;,/,文件当前读写位置,char *_buff;,/,文件缓冲区位置,FILE;,文件类型指针,指针变量说明:,FILE *fp;,用法:,文件打开,时,系统,自动,建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得,文件信息,访问文件,文件关闭,后,它的文件结构体被释放,文件名,文件使用,方

5、式,文件类型指针,C,程序,操作系统,磁盘,文件的基本操作步骤,各步骤的含义.,指向文件的指针变量,在“,stdio.h”,中,struct _iobuf,char _FAR_ *_ptr;,int _cnt;,char _FAR_ *_base;,char _flag;,char _file;,;,typedef struct _iobuf FILE;,打开文件,读写(创建)文件,关闭文件,typedef struct,int _fd;/*,文件号*/,int _cleft;/*,缓冲区剩下的字符*/,int _,mode;/*,文件操作模式 */,char *_nextc;/*,下一个字符

6、指针*/,char *_buff ;/*,文件缓冲区指针 */,FILE,;,例如:,FILE *fp1,*fp2;,1.打开文件,FILE *fp;,fp=fopen(filename,mode);,filename,中可以带路径名。,一般方法如下:,FILE *fp;,if(fp=fopen(“c:docexam.txt”,“w”)=NULL),puts(“Cannot open the filen”);,exit(1);,开关文件,Mode(,方式),意 义,“,r”,读文本文件,“,w”,写生成文本文件,“,a”,向文本文件追加,“,rb”,读打开二进制文件,“,wb”,写生成进制文件

7、ab”,向二进制文件追加,打开方式(,mode),Mode(,方式)意 义,“,r+”,读写文本文件,“,w+”,读写(创建)文本文件,“,a+”,向文本文件追加,“,rb+”,“读打开”二进制文件,“,wb+”,读写(创建)二进制文件,“,ab+”,向二进制文件读写(追加),打开方式(,mode),2.关闭文件,一般方法如下:,fclose(FilePointer);,或:,if(fclose(filepointer)=,=NULL)printf(“close error”);exit(2);,使用,FILE,类型和,fopen(),、fclose(),函数应包含,stdio.h,1.

8、输入输出字符,1),I/O,字符,ch=fgetc(fp);,fputc(ch,fp);,putchar(ch),实际上是用,fputc(ch,fp),定义的一个宏:,#,define putchar(ch)fputc(ch,stdout),默认输出到标准输出设备-显示器即标准输出文件,stdout,。,2),判断文件尾,fgetc(),在读到文件末尾时,返回文件结束标志,EOF,(,在,stdio.h,中定义为-1。此标志只适合于文本文件,二进制文件中的数值-1会与其相混,造成提前结束。,常用,feof(),函数测试文件尾。若是文件结,束返回值1。它既可以用于二进制文件也可,以用于文本文件。

9、读写文件,2.输入输出数据块,一次可,I/O,一个数组或结构体类型的数据,后者与其它高级语言的记录读写。,ANSI C,设置了两个函数:,fread(buffer,size,count,fp),fwrite(buffer,size,count,fp),例,从键盘输入5个学生的数据,存为文本文件,然后读回验证,。,3.格式化,I/O,fprintf(fp,formstr,outlist),fscanf(fp,formstr,outlist),文件的读写,字符,I/O:fputc,与,fgetc,fputc,函数原型,:,int fputc(int c,FILE*fp),功能:把一字节代码,c,

10、写入,fp,指向的文件中,返值:正常,返回,c;,出错,为,EOF,fgetc,函数原型:,int fgetc(FILE*fp),功能:从,fp,指向的文件中读取,一字节代码,返值:正常,返回读到的代码值;读到文件尾或出错,为,EOF,文件,I/O,与终端,I/O,#define putc(ch,fp)fputc(ch,fp),#define getc(fp)fgetc(fp),#define putchar(c)fputc(c,stdout),#define getchar()fgetc(stdin),判断,二进制,文件是否结束,while(!,feof,(fp),c=fgetc(fp);,

11、例 文件拷贝,例 从键盘输入字符,逐个,存到磁盘文件中,直到,输入,#“,为止,#include,main(),FILE*fp;,char ch,*filename=“out.txt”;,if(fp=fopen(filename,w)=NULL),printf(cannot open filen);,exit(0);,printf(Please input string:);,ch=getchar();,while(ch!=#),fputc(ch,fp);,putchar(ch);,ch=getchar();,fclose(fp);,例 读文本文件内容,,并显示,#include,main

12、),FILE*fp;,char ch,*filename=“out.txt”;,if(fp=fopen(filename,”r)=NULL),printf(cannot open filen);,exit(0);,while(,ch=fgetc(fp),)!=,EOF,),putchar(ch);,fclose(fp);,判断文本文件是否结束,feof,函数原型:,int feof(FILE *fp),功能:判断文件是否结束,返值:文件结束,返回真(非0);文件未结束,返回0,#include,main(),FILE*in,*out;,char ch,infile10,outfile10;,

13、scanf(%s,infile);,scanf(%s,outfile);,if(in=fopen(infile,r)=NULL),printf(Cannot open infile.n);,exit(0);,if,(out=fopen(outfile,w)=NULL,),printf(Cannot open outfile.n);,exit(0);,while(!feof(in),fputc(fgetc(in),out);,fclose(in);,fclose(out);,数据块,I/O:fread,与,fwrite,函数原型:,size_t fread(void *buffer,size_t

14、 size,size_t count,FILE *fp),size_t fwrite(void *buffer,size_t size,size_t count,FILE *fp),功能:读,/,写数据块,返值:成功,返回读,/,写的块数;出错或文件尾,返回,0,说明:,typedef unsigned size_t;,buffer:,指向要输入/输出数据块的首地址的指针,size:,每个要读/写的数据块的大小(字节数),count:,要读/写的数据块的个数,fp:,要读/写的文件指针,fread,与,fwrite,一般用于,二进制文件,的输入/输出,例,float f2;,FILE *fp;

15、fp=fopen(“aa.dat”,“rb”);,fread(f,4,2,fp);,for(i=0;i2;i+),fread(,例,struct student,int num;,char name20;,char sex;,int age;,float score3;,stud10;,for(i=0;i10;i+),fread(,例 从键盘输入,4,个学生数据,把他们转存到磁盘文件中去,#include,#define SIZE 2,struct student_type,char name10;,int num;,int age;,char addr15;,studSIZE;,main(

16、),int i;,for(i=0;iSIZE;i+),scanf(%s%d%d%s,studi.name,&studi.num,save();,display();,void save(),FILE*fp;,int i;,if(,fp=fopen(d:fengyiexestu_dat,wb)=NULL,),printf(cannot open filen);,return;,for(i=0;iSIZE;i+),if,(fwrite(&studi,sizeof(struct student_type),1,fp)!=1,),printf(file write errorn);,fclose(fp

17、);,void display(),FILE*fp;,int i;,if(,fp=fopen(d:fengyiexestu_dat,rb)=NULL,),printf(cannot open filen);,return;,for(i=0;i0),fputs(string,fp);,fputs(n,fp);,fclose(fp);,if(,fp=fopen(file.txt,r)=NULL,),printf(cannt open file);exit(0);,while(,fgets(string,81,fp)!=NULL,),fputs(string,stdout);,fclose(fp);

18、1.返回文件开头,rewind(fp),2.随机定位,fseek(fp,偏移量,起始点),起始点 名字 数字表示,文件开始,SEEK_SET 0,文件当前位置,SEEK_CUR 1,文件末尾,SEEK_END 2,偏移量可以用+/-表示向前或向后移动。,文件定位,文件的定位,几个概念,文件位置指针,-,指向当前读写位置的指针,读写方式,顺序读写:位置指针按字节位置顺序移动,叫,随机读写:位置指针按需要移动到任意位置,叫,rewind,函数,函数原型:,void rewind(FILE *fp),功能:重置文件位置指针到文件开头,返值:无,例 对一个磁盘文件进行显示和复制两次操作,#inclu

19、de,main(),FILE*fp1,*fp2;,fp1=,fopen(d:fengyibkcch12_4.c,r);,fp2,=fopen(d:fengyibkcch12_41.c,w);,while,(!feof(fp1,)putchar(getc(fp1);,rewind(fp1);,while(!feof(fp1),putc(getc(fp1),fp2);,fclose(fp1);,fclose(fp2);,fseek,函数,函数原型:,int fseek(FILE *fp,long offset,int whence),功能:改变文件位置指针的位置,返值:成功,返回0;失败,返回非0

20、值,文件指针,位移量(以起始点为基点,移动的字节数),0,向后移动,0,向前移动,起始点,文件开始,SEEK_SET 0,文件当前位置,SEEK_CUR 1,文件末尾,SEEK_END 2,例,fseek(fp,100L,0);,fseek(fp,50L,1);,fseek(fp,-10L,2);,ftell,函数,函数原型:,long ftell(FILE *fp),功能:返回位置指针当前位置(用相对文件开头的位移量表示),返值:成功,返回当前位置指针位置;失败,返回-1,L,,,例 磁盘文件上有,3,个学生数据,要求读入第,1,,,3,学生数据并显示,main(),int i;,FILE*

21、fp;,if,(fp=fopen(studat,rb)=NULL,),printf(cant open filen);exit(0);,for(i=0;i3;i+=2),fseek(fp,i*sizeof(struct student_type),0);,fread(,printf(%s%d%d%sn,studi.name,studi.num,studi.age,studi.addr);,fclose(fp);,#include,struct student_type,int num;,char name10;,int age;,char addr15;,stud3;,#includestdi

22、o.h,main(),FILE*fp;,char filename80;,long length;,gets(filename);,fp=fopen(filename,rb);,if(fp=NULL),printf(file not found!n);,else,fseek(fp,0L,SEEK_END);,length=,ftell(fp);,printf(Length of File is%1d bytesn,length);,fclose(fp);,例 求文件长度,(ch12_101.c),例如:,exfile1.c,exfcopy.c,exfcpy2.c,exrw1.c,exsp1.c,exwst.c,谢谢观看!,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服