




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十二章文件,文件概念文件:是保存在外存储器上的一组数据的有序集合。文件的特点是:(1)数据长久保存(2)数据长度不定(3)数据按顺序存取语言中的文件完全是字节代码的序列(字节流)可以看作为磁带,第十二章文件,文件有两种数据形式:ascii码(文本文件textstream)a.c程序文件文本文件是字符流二进制码(二进制文件binarystream)a.exe执行文件二进制文件是直接把内存数据以二进制形式保存。对于一个整型数1234:以文本文件保存,它是四个字符:ascii码分别是:49505152;以二进制文件保存,它是1234的二进制数0 x04D2,由于磁盘速度相对很低,直接把数据写到磁盘会效率很低,文件,缓冲文件系统:向磁盘输出数据:数据缓冲区,装满缓冲区后磁盘文件。从磁盘读入数据:先一次性从磁盘文件将一批数据输入到缓冲区,然后再从缓冲区逐个读入数据到变量。内存单元内存单元,数据,缓冲器,512字节,文件,由操作系统自动完成,程序控制,文件名,用什么标识,文件,文件类型指针使用一个文件指针,来指示文件缓冲区中具体读写的位置。文件指针变量文件指针定义:FILE*fp;文件类型,数据,缓冲器,512字节,文件,由操作系统自动完成,程序控制,文件名,fp,文件,文件类型指针文件指针定义:FILE*fp;文件类型文件指针变量语言中允许同时使用多个文件,每个文件都有各自的缓冲区,用不同的文件指针分别指示。,问题:如何使fp与具体文件挂钩?,文件的打开,文件打开使文件指针与相应文件实体对应起来格式:fpfopen(“文件名”,“文件使用方式”)如:fp=fopen(a.dat,r)作用:1在磁盘中找到文件a.dat2在内存中开辟512个字节的缓冲区,并由fp指示文件缓冲区起始位置3把首块512字节数据:磁盘缓冲器,以后程序只对文件指针进行操作,即用fp代表磁盘文件。,文件使用方式(ASCII码文件):“r”仅从已建立的文件读取数据“w”仅把数据写到一个新建文件中“a”仅把数据写到已建立的文件的尾部,文件基本读写,我们可以这样看:文件看作一个数组(缓冲器),文件指针看作是指向数组元素的指针,文件操作:对文件指针所指的缓冲器单元进行存取.限制:文件的读写一般是顺序进行的,位置完全由文件指针控制,并且文件指针的改变也由系统控制。,文件基本读写,语言文件读写函数磁盘文件操作键盘操作chfgetc(fp)ch=getchar()fputc(ch,fp)putchar(ch)fscanf(fp,“格式”,输入表)scanf()fprintf(fp,“格式”,输出表)printf()它们的说明在stdio.h中,文件基本读写,例:将一个已存在的文件a.dat的内容拷贝到b.dat文件中。FILE*fpa,*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,文件基本读写,文件程序FILE*fpa,*fpb;(1)定义文件指针fpa=fopen(a.dat,r);(2)打开文件并建立相应指针c=fgetc(fpa);fputc(c,fpb);(3)文件读写fscanf(fpa,%d,(4)关闭打开的所有文件,#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);,文件基本读写,例:统计文件的行数main()FILE*fp;intn=0;chatc;if(fp=fopen(d:tca.dat,r)=NULL)printf(cannotopenfilea.dat!);exit(0);w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高中数学必修四知识点总结
- 多发伤的临床护理
- 幼儿园语言教育与活动设计 课件 第3、4章 幼儿园语言教育活动设计的原理;幼儿园语言教育活动与其他教育活动的交叉与融合
- 人美版小学五年级美术下册台历挂历的设计教学设计
- 汽车销售补充合同范本
- 预防医学招聘个人简历
- 科学护理宝宝
- 肢体断离伤的临床护理
- 断指再植的临床护理
- 2025年中小学落实双减工作总结模版
- 2024秋期国家开放大学《可编程控制器应用实训》一平台在线形考(形成任务1)试题及答案
- 2023年高考真题-地理(河北卷) 含答案
- DB50-T 1649-2024 餐饮业菜品信息描述规范
- GB/T 17775-2024旅游景区质量等级划分
- 山东省东营市2024年中考英语真题(含答案)
- 物流无人机垂直起降场选址与建设规范
- DBJ50-T-417-2022 建筑施工高处坠落防治安全技术标准
- 医院物业挂靠协议书
- JT-T-852-2013公路桥梁摩擦摆式减隔震支架
- 社会主义发展史智慧树知到期末考试答案2024年
- 达格列净二甲双胍缓释片(I)-临床用药解读
评论
0/150
提交评论