版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CECS 10406-2024硫氧镁基发泡砌块
- T/CASME 2058-2025芯片内建沟道退化监测单元电路设计与测试规范
- T/BCEA 010-2024 T/CECIA 12 -2024建筑垃圾减量化操作规范
- DB32/T 5239-2025水稻实质性派生品种鉴定规程
- DB42/T 2460-2025公路改扩建工程地质勘察规范
- DB32/T 4895-2024变电站工频电磁环境连续监测技术规范
- 《医院感染暴发报告及处置管理》、《医疗废物处置与管理》知识考核测试卷及答案
- 内科医院感染管理工作计划2篇
- 《镜头下的美好》教学设计-2026-2027学年沪教版(新教材)初中美术七年级上册
- 天气系统强化试题及答案详解
- AQ3067-2026 重大生产安全事故隐患判定准则解读
- 2026贵阳市投资控股集团有限公司第二批社会公开招聘笔试备考题库及答案详解
- 固体废物贮存场所建设规范
- (2026年)AED除颤仪操作流程课件
- 领悟乡土文化主题班会课件
- 排水管网勘察测绘方案
- 急救AI数据集的构建与规范
- 血液净化患者的沟通技巧
- 山地清山合同范本
- 成品油站场压力管道检验导则
- 2024年“泰山杯”山东省网络安全职业技能竞赛理论试题库(含答案)
评论
0/150
提交评论