版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.,1,第十二章文件,文件概念文件:是保存在外存储器上的一组数据的有序集合。文件的特点是:(1)数据长久保存(2)数据长度不定(3)数据按顺序存取语言中的文件完全是字节代码的序列(字节流)可以看作为磁带,.,2,第十二章文件,文件有两种数据形式:ascii码(文本文件textstream)a.c程序文件文本文件是字符流二进制码(二进制文件binarystream)a.exe执行文件二进制文件是直接把内存数据以二进制形式保存。对于一个整型数1234:以文本文件保存,它是四个字符:ascii码分别是:49505152;以二进制文件保存,它是1234的二进制数0 x04D2,.,3,由于磁盘速度相对
2、很低,直接把数据写到磁盘会效率很低,文件,缓冲文件系统:向磁盘输出数据:数据缓冲区,装满缓冲区后磁盘文件。从磁盘读入数据:先一次性从磁盘文件将一批数据输入到缓冲区,然后再从缓冲区逐个读入数据到变量。内存单元内存单元,数据,缓冲器,512字节,文件,由操作系统自动完成,程序控制,文件名,用什么标识,.,4,文件,文件类型指针使用一个文件指针,来指示文件缓冲区中具体读写的位置。文件指针变量文件指针定义:FILE*fp;文件类型,数据,缓冲器,512字节,文件,由操作系统自动完成,程序控制,文件名,fp,.,5,文件,文件类型指针文件指针定义:FILE*fp;文件类型文件指针变量语言中允许同时使用多
3、个文件,每个文件都有各自的缓冲区,用不同的文件指针分别指示。,问题:如何使fp与具体文件挂钩?,.,6,文件的打开,文件打开使文件指针与相应文件实体对应起来格式:fpfopen(“文件名”,“文件使用方式”)如:fp=fopen(a.dat,r)作用:1在磁盘中找到文件a.dat2在内存中开辟512个字节的缓冲区,并由fp指示文件缓冲区起始位置3把首块512字节数据:磁盘缓冲器,以后程序只对文件指针进行操作,即用fp代表磁盘文件。,文件使用方式(ASCII码文件):“r”仅从已建立的文件读取数据“w”仅把数据写到一个新建文件中“a”仅把数据写到已建立的文件的尾部,.,7,文件基本读写,我们可以
4、这样看:文件看作一个数组(缓冲器),文件指针看作是指向数组元素的指针,文件操作:对文件指针所指的缓冲器单元进行存取.限制:文件的读写一般是顺序进行的,位置完全由文件指针控制,并且文件指针的改变也由系统控制。,.,8,文件基本读写,语言文件读写函数磁盘文件操作键盘操作chfgetc(fp)ch=getchar()fputc(ch,fp)putchar(ch)fscanf(fp,“格式”,输入表)scanf()fprintf(fp,“格式”,输出表)printf()它们的说明在stdio.h中,.,9,文件基本读写,例:将一个已存在的文件a.dat的内容拷贝到b.dat文件中。FILE*fpa,*
5、fpb;(1)定义文件指针charc;inti;:fpa=fopen(a.dat,r);fpb=fopen(b.dat,w);(2)打开文件并建立相应指针c=fgetc(fpa);fputc(c,fpb);(3)文件读写c=fgetc(fpa);fputc(c,fpb);fscanf(fpa,%d,(4)关闭打开的所有文件,每一次读/写,文件指针自动+,ab35,.,10,文件基本读写,文件程序FILE*fpa,*fpb;(1)定义文件指针fpa=fopen(a.dat,r);(2)打开文件并建立相应指针c=fgetc(fpa);fputc(c,fpb);(3)文件读写fscanf(fpa,%
6、d,(4)关闭打开的所有文件,.,11,#includestdio.hmain()FILE*fpa,*fpb;if(fpa=fopen(d:tca.dat,r)=NULL)printf(cannotopenfilea.dat!);exit(0);if(fpb=fopen(d:tcb.dat,w)=NULL)printf(cannotopenfileb.dat!);exit(0);while(!feof(fpa)fputc(fgetc(fpa),fpb);if(fclose(fpa)printf(cannotclosefilea.dat!);exit(0);if(fclose(fpb)printf(cannotclosefileb.dat!);exit(0);,当fpa指向文件末尾时,feof(fpa)=非零,fclose(fp)0正常/1有错,fp=NULL,表明文件不能正常打开,c=fgetc(fpa);while(c!=EOF)fputc(c,fpb);c=fgetc(fpa);,.,12,文件基本读写,例:统计文件的行数main()FILE*fp;intn=0;chatc;if(fp=fopen(d:tca.dat,r)=NULL)printf(cannotopenfilea.dat!);exit(0)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防校园欺凌主题班会
- 2026年造价工程师考试工程经济案例分析培训试卷
- 2026年自学考试农业经济管理专业农业经济学冲刺押题卷
- 2026年银行业专业人员职业资格考试中级金融市场营销冲刺押题试卷
- 2026暖通工面试题及答案
- 2026普洱茶公司面试题及答案
- 2026青年返乡面试题目及答案
- 2026人才工作者面试题及答案
- 2026山东高校面试题目及答案
- 2026社会学类面试题及答案
- 2026年全国土地登记代理人之地籍调查考试重点黑金模拟题(附答案)
- 2026年哈尔滨市萧红中学六年级下语文6月月考试题及答案0612
- (高清版)DB42∕T 2133-2023 建筑施工侧埋式悬挑脚手架技术规程
- 软件定义网络技术与实践智慧树知到期末考试答案章节答案2024年深圳信息职业技术学院
- 报表模板-土地增值税清算申报表(自动计算申报表)可填写数据
- 广外学生管理手册
- 干部人事档案管理业务培训班课件
- 2022年浙江绍兴市柯桥区部分机关事业单位编外和国有企业工作人员招聘笔试备考题库及答案解析
- 0兆瓦风力发电机组测量传感器与模块
- 国家临床重点专科评标准(耳鼻喉科)
- GB/T 32186-2015铝及铝合金铸锭纯净度检验方法
评论
0/150
提交评论