浙江大学c语言课件第十章(颜辉).ppt

浙江大学c语言课件第十章(颜辉).ppt

ID:52709923

大小:80.51 KB

页数:12页

时间:2020-04-12

浙江大学c语言课件第十章(颜辉).ppt_第1页
浙江大学c语言课件第十章(颜辉).ppt_第2页
浙江大学c语言课件第十章(颜辉).ppt_第3页
浙江大学c语言课件第十章(颜辉).ppt_第4页
浙江大学c语言课件第十章(颜辉).ppt_第5页
资源描述:

《浙江大学c语言课件第十章(颜辉).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十二章文件文件概念文件:是保存在外存储器上的一组数据的有序集合。文件的特点是:(1)数据长久保存(2)数据长度不定(3)数据按顺序存取C语言中的文件完全是字节代码的序列(字节流)可以看作为磁带……第十二章文件文件有两种数据形式:ascii码(文本文件textstream)a.c程序文件文本文件是字符流二进制码(二进制文件binarystream)a.exe执行文件二进制文件是直接把内存数据以二进制形式保存。对于一个整型数1234:以文本文件保存,它是四个字符:ascii码分别是:49505152;以二进制文件保存,它是1234的二进制数0x04D2由于磁盘

2、速度相对很低,直接把数据写到磁盘会效率很低文件缓冲文件系统:向磁盘输出数据:数据缓冲区,装满缓冲区后磁盘文件。从磁盘读入数据:先一次性从磁盘文件将一批数据输入到缓冲区,然后再从缓冲区逐个读入数据到变量。内存单元内存单元数据……缓冲器512字节……文件由操作系统自动完成程序控制文件名用什么标识文件文件类型指针使用一个文件指针,来指示文件缓冲区中具体读写的位置。文件指针变量文件指针定义:FILE*fp;文件类型数据……缓冲器512字节……文件由操作系统自动完成程序控制文件名fp文件文件类型指针文件指针定义:FILE*fp;文件类型文件指针变量C语言中允许同时使用

3、多个文件,每个文件都有各自的缓冲区,用不同的文件指针分别指示。问题:如何使fp与具体文件挂钩?文件的打开文件打开使文件指针与相应文件实体对应起来格式:fp=fopen(“文件名”,“文件使用方式”)如:fp=fopen("a.dat","r")作用:1在磁盘中找到文件a.dat2在内存中开辟512个字节的缓冲区,并由fp指示文件缓冲区起始位置3把首块512字节数据:磁盘缓冲器以后程序只对文件指针进行操作,即用fp代表磁盘文件。文件使用方式(ASCII码文件):“r”仅从已建立的文件读取数据“w”仅把数据写到一个新建文件中“a”仅把数据写到已建立的文件的尾部文

4、件基本读写我们可以这样看:文件看作一个数组(缓冲器),文件指针看作是指向数组元素的指针,文件操作:对文件指针所指的缓冲器单元进行存取.限制:文件的读写一般是顺序进行的,位置完全由文件指针控制,并且文件指针的改变也由系统控制。文件基本读写C语言文件读写函数磁盘文件操作键盘操作ch=fgetc(fp)ch=getchar()fputc(ch,fp)putchar(ch)fscanf(fp,“格式”,输入表)scanf()fprintf(fp,“格式”,输出表)printf()它们的说明在stdio.h中文件基本读写例:将一个已存在的文件a.dat的内容拷贝到b.

5、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",&i);fprintf(fpb,"%d",i);fscanf(fpa,"%d",&i);fprintf(fpb,"%d",i);fclose(fpa);fclose(fpb);(4)关闭打开的所有文件每一次读/

6、写,文件指针自动++‘a’‘b’35文件基本读写文件程序{FILE*fpa,*fpb;(1)定义文件指针fpa=fopen("a.dat","r");(2)打开文件并建立相应指针c=fgetc(fpa);fputc(c,fpb);(3)文件读写fscanf(fpa,"%d",&i);fprintf(fpb,"%d",i);fclose(fpa);(4)关闭打开的所有文件}#include"stdio.h"main(){FILE*fpa,*fpb;if((fpa=fopen("d:\tc\a.dat","r"))==NULL){printf("cannot

7、openfilea.dat!");exit(0);}if((fpb=fopen("d:\tc\b.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(fp

8、a)==非零fclose(fp)=0正常/1有错fp

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。