[高等教育]第9章 文件

[高等教育]第9章 文件

ID:27733923

大小:1.47 MB

页数:45页

时间:2018-12-04

[高等教育]第9章 文件_第1页
[高等教育]第9章 文件_第2页
[高等教育]第9章 文件_第3页
[高等教育]第9章 文件_第4页
[高等教育]第9章 文件_第5页
资源描述:

《[高等教育]第9章 文件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第九章文件Chap.9File9.1文件的概念文件概念:文件是一组存储在外部设备上的数据的集合。外设(如键盘)也可以以文件的形式进行处理,称为设备文件。文件的优点:保存和交换数据。保存大容量数据。文件的分类:数据表示方式:二进制文件。文本文件(ASCII)文件。读写方式:顺序读写文件(流式)。随机读写文件。处理方法:缓冲文件。非缓冲文件。Device内存Buffer匹配主机速度,数据转换。文件的操作过程与文件指针⒈文件的操作过程打开文件建立一个文件和流的对应关系。在内存中建立一个保存文件信息的结构变量。读写文件关闭文件

2、释放文件所占的资源。⒉文件指针在缓冲文件系统中,每个被使用的文件的信息(如文件名、位置、类型等)都保存在一个特殊定义的结构类型的变量中。该结构用户定义名为:FILE可以定义一个指向FILE类型的结构指针,打开文件是让该指针指向文件对应的结构变量,通过该指针对文件进行操作。FILE*fp;文件读写的方式文件按读写方式可以分为:顺序读写随机读写顺序读写:顺序向后读写。随机读写:给定位置读写。9.2文件的打开与关闭⒈文件的打开fopen()函数fopen函数的原型在stdio.h文件中说明,该函数的作用是打开缓冲文件。使用方

3、法:FILE*fp;fp=fopen(filename,mode);打开文件的文件名或设备名。文件的读写方式。文件信息结构的指针。fp=fopen(“a:wang.dat”,”w+”);说明:⑴如果fopen失败,则函数返回空指针NULL;⑵当文件打开错误时,程序不应继续执行,一般以如下方式打开文件:if((fp=fopen(filename,mode))==NULL){printf(“FileOpenError!”);exit(1);}文件的读写方式说明:控制符文件类型读写方式“r”文本打开文件只读“w”打开文

4、件只写“a”打开文件在尾部追加“rb”二进制打开文件只读“wb”打开文件只写“ab”打开文件在尾部追加“r+”文本打开文件可读写“w+”建立新文件可读写“a+”打开文件可读写“rb+”二进制打开文件可读写“wb+”建立新文件可读写“ab+”打开文件可读写⒉文件的关闭fclose函数文件使用完必须关闭,关闭文件的目的是:保证文件的数据不丢失,将buffer的数据回写文件。释放buffer。关闭文件函数的使用:fclose(文件指针);FILE*fp;fp=fopen(“a:d.dat”,”w+”);/*文件的读写*/…

5、fclose(fp);说明:如果关闭正确fclose返回0;关闭失败fclose返回非0。9.3文件的顺序读写文件的读写是由定义在stdio.h中的一组函数的集合所实现的。⒈f字符输入和输出函数putc函数和fgetc函数⑴fputc函数使用方法:fputc(ch,fp);含义:将字符ch写入文件指针对应的文件的当前位置。返回值:写入正确返回ch的值;失败返回EOF(在stdio.h中定义为-1)。⑵fgetc函数使用方法:ch=fgetc(fp);/*ch为字符型变量。*/含义:从文件指针fp对应的可读文件的当前位置

6、读一个字符返回赋值给ch。⑶feof函数使用方法:i=feof(fp);含义:判断文件是否结束。返回值:1代表文件结束;0代表文件未结束。#includevoidmain(intargc,char*argv[]){FILE*in,*out;if(argc!=3){printf(“Commandformaterror!”);exit(0);}if((in=fopen(argv[1],“r”))==NULL){printf(“cannotopentheinfile”);exit(0);}if((o

7、ut=fopen(argv[2],“w”))==NULL){printf(“cannotopentheoutfile”);exit(0);}while(!feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);}打开源文件打开目标文件当源文件未结束时,读一个字符写入目标文件。关闭文件举例:将一个磁盘文件中的内容复制到另一个文件中。【例9-1】从键盘输入10个字符,写入文件f2.txt中。/*example9-1文件的写*/#include#incl

8、udevoidmain(void){inti;charch;FILE*fp;/*定义文件指针*/if((fp=fopen(“f2.txt”,“w”))==NULL)/*以写方式打开文件*/{printf("Fileopenerror!");exit(1);/*无法打开则结束*/}for(i=1;i<=10;

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

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

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