收藏 分享(赏)

第十六章-文件.ppt

上传人:天天快乐 文档编号:589477 上传时间:2018-04-13 格式:PPT 页数:11 大小:802.50KB
下载 相关 举报
第十六章-文件.ppt_第1页
第1页 / 共11页
第十六章-文件.ppt_第2页
第2页 / 共11页
第十六章-文件.ppt_第3页
第3页 / 共11页
第十六章-文件.ppt_第4页
第4页 / 共11页
第十六章-文件.ppt_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、第十六章 文 件,第十六章 文 件,16.1 C语言文件的概念 1.C语言中,对文件的存取方式:顺序存取和直接存取(随机存 储)。 2.数据可以按文本形式或二进制形式存放在介质上,因此文件可以 按数据的存放形式分为文本文件和二进制文件,这两种文件都可 以用顺序方式或直接(随机)方式进行存取。 3.所谓文本文件指的是,当输出时,数据转换成一串字符,每个字 符以字符的ASCII码值存储到文件中,一个字符占一个字节,例 如int类型的整数1234和float类型的小数3.141592,都转换为字 符存放到文件。 4.当数据按二进制行使输出到文件中,数据不经过任何转换、按计 算机内的存储形式直接存放到

2、磁盘上。当从二进制文件中读入数 据时,不必经过任何转换,而直接将读入的数据存入变量所占内 存空间。由此可见,因为不存在转换的操作,从而提高了对文件 输入输出的速度。 5.另外,对文件进行输入输出的时候,系统将为输入或输出文件开 辟缓冲区。,第十六章 文 件,16.2 文件指针 文件指针实际上是指向一个结构体类型的指针,这个结构体中包含诸如:缓冲区的地址、在缓冲区中当前存取的字符的位置、对文件是“读”还是“写”、是否出错、是否遇到文件结束标志的那个信息。 定义文件类型指针变量的一般形式为: FILE *指针变量名; 例如:FILE *fp1,*fp2; 这时,fp1和fp2均被定义为指向文件类型

3、的指针变量,称为文件指针。16.3 打开文件 在对文件进行读、写操作之前,首先要解决的问题是如何把程序中要读、写的文件与磁盘上实际的数据文件联系起来。在C语言中,只需调用C语言提供的库函数fopen“打开”文件就可以实现这些联系。 fopen函数的一般形式为:fopen(文件名、文件使用方式); 函数返回一个指向FILE类型的指针,例如: fopen(“file_a”,”r”); fopen函数调用中有两个字符串作为参数,第一个字符串中包含了进行读、写操作的文件名,用来指定所要打开的文件,第二个字符串中指定了文件的使用方式(以下介绍),第十六章 文 件,16.3 打开文件 若函数调用成功,返回

4、一个FILE类型的指针,指向所对应的文件,若调用函数中出现错误,函数将返回NULL。为保证在程序中使用正确打开的文件,建议使用以下的程序段,当在打开文件发生错误时,使程序停止运行: if(pf=fopen(“file_a”,“r”)=NULL) printf(“Cant open this file!n”); exit(0); /*用exit函数时,必须包含stdlib.h*/ C语言中,最常见的文件使用凡是及其含义见P216,一般用到“r”和“w”。,第十六章 文 件,16.4 关闭文件 当对文件的读(写)操作完成之后,必须关闭它。关闭文件可调用库函数fclose来实现,fclose函数的调

5、用形式如下: fclose(文件指针); 当成功地执行了关闭操作,函数返回0,否则返回非0。16.5 调用getc(fgetc)和put(fputc)函数进行输入和输出 当成功的打开文件之后,接下来就是对文件进行输入或输出操作。 1.调用putc(或fputc)函数输出一个字符 putc函数的调用形式如下: putc(ch,fp); 这里ch是待输出的某个字符,它可以是一个字符常量也允许是一 个字符变量;fp是文件指针。putc(ch,fp)的功能是将字符ch写 到文件指针fp所指的文件中去。若输出成功,putc函数返回所输 出的字符;如果输出失败,则返回一个EOF值。(EOF是在 stdio

6、.h中定义的符号常量,其值为1)。另外fputc函数调用形式和功能 与putc函数完全相同,第十六章 文 件,16.5 调用getc(fgetc)和put(fputc)函数进行输入和输出 例 16.1 把从键盘输入的文本按原样输出到名为file_a.dat的文件中,用字符作为键盘输入结束标志。 #include #include main( ) FILE *fpout; char ch; if(fpout=fopen(“file_a.dat”,”w”)=NULL) printf(“Cant open this file!n”); exit(0); ch=getchar(); while(ch!

7、=) fputc(ch,fpout); ch=getchar( ); fclose(fpout); ,第十六章 文 件,16.5 调用getc(fgetc)和put(fputc)函数进行输入和输出 2.调用getc(或fgetc)函数输入一个字符 get函数的调用形式如下: ch=getc(pf); 此处pf是文件指针。 函数的功能是从pf指定的文件中读入的一个字符给变量ch。另外,fgetc函数的调用形式和功能与getc函数完全相同。 例 16.2 把一个已存在磁盘上的file_a.dat文本文件中的内容原样 输出到终端屏幕上。 #include #include main( ) FILE

8、*fpin; char ch; if(pfin=fopen(“file_a.dat”.”r”)=NULL) printf(“Cant open this file!n”); exit(0); ch=fgetc(fpin); while(ch!=EOF) putchar(ch); ch=fgetc(fpin); fclose(fpin); ,第十六章 文 件,16.6 判断文件结束函数feof feof函数用来判断文件是否结束,如果遇到文件结束,函数feof(fp)的值为1,否则为0。 例16.3 编写程序,用于把一个文本文件(源文件)复制到另一个文件(目的文件)中。源文件名为file_a.da

9、t,目的文件名为file_b.dat。 #include void filecopy(FILE *,FILE *); main( ) FILE *fpin,*fpout; fpin=fopen(“file_a.dat”,”r”); fout=fopen(“file_b.dat”,”w”); filecopy(fpin,fout); fclose(fpin); fclose(fout); void filecopy(FILE *fpin,FILE *fpout) char ch; ch=getc(fpin); while(!feof(fpin) putc(ch,fout); ch=getc(fp

10、in); ,第十六章 文 件,16.7 fscanf函数和fprintf函数 1.fscanf函数 fscanf函数只能从文本文件中按格式输入,函数调用形式: fscanf(文件指针,格式控制字符串,输入项表); 例如:文件指针fp已指向一个打开文件,a、b分别为整型变量,则以下语句从文件中读入两整数放入变量a和b中: fscanf(fp,”%d%d”, 把x和y连个整型变量中的整数按%d格式输出到fp所指向的文件中。,第十六章 文 件,16.8 fgets函数和fputc函数 1.fgets函数 fgets函数用来从文件中读入字符串。fgets函数的调用形式为: fgets(str,n,fp); 其中fp时文件指针,str是存放字符串的起始地址,n是一个int型变量。函数的功能是从fp所指向的文件中读入n-1个字符放入以str为起始地址的空间内,读入结束后,系统自动在最后加0,并以str作为函数值返回。 2.fput函数 fputs函数用来把字符串输出到文件中,调用形式为 fputs(str,fp);16.9 fread函数和fwrite函数16.10文件定位函数:fseek函数和ftell函数,联系方式,QQ:253026925Email: hujun_,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经济财会 > 贸易

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报