




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家族信托投资咨询合同(2篇)
- 家居博览会活动赞助合同(2篇)
- 大件货物 运输合同范本
- 楼梯踏步出租合同范本
- 2025至2030年中国手机面壳模具行业发展研究报告
- 2025至2030年中国手推单轨行车市场分析及竞争策略研究报告
- 2025至2030年中国房地产产权登记交易管理系统行业投资前景及策略咨询报告
- 2025至2030年中国快速通渠洁瓷粉行业投资前景及策略咨询报告
- 2025至2030年中国微型车万向节市场现状分析及前景预测报告
- 2025至2030年中国彩绘纸行业发展研究报告
- 2024年义务教育阶段国家质量监测模拟测试
- 缠论-简单就是美
- 儿童神话故事-女娲补天
- 2024车辆挂靠证明
- DL∕T 2138-2020 电力专利价值评估规范
- JT-T-1039-2016公路桥梁聚氨酯填充式伸缩装置
- 航空航天概论智慧树知到期末考试答案章节答案2024年西安航空学院
- 人教版七年级下册生物重点知识提纲(填空版)
- 2024年河南水利与环境职业学院单招职业适应性测试题库审定版
- 地板防火检验报告
- 报表模板-土地增值税清算申报表(自动计算申报表)可填写数据
评论
0/150
提交评论