C语言设计课件:第13章 文件

上传人:m**** 文档编号:568596274 上传时间:2024-07-25 格式:PPT 页数:17 大小:56.50KB
返回 下载 相关 举报
C语言设计课件:第13章 文件_第1页
第1页 / 共17页
C语言设计课件:第13章 文件_第2页
第2页 / 共17页
C语言设计课件:第13章 文件_第3页
第3页 / 共17页
C语言设计课件:第13章 文件_第4页
第4页 / 共17页
C语言设计课件:第13章 文件_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《C语言设计课件:第13章 文件》由会员分享,可在线阅读,更多相关《C语言设计课件:第13章 文件(17页珍藏版)》请在金锄头文库上搜索。

1、第第13章章 文文 件件问题的提出问题的提出n printf() 函数函数n scanf() 函数函数C文件概述文件概述n文件:文件是存储在外部介质上的数据集合,文件:文件是存储在外部介质上的数据集合,文件具有一定的格式,并具有数据持久性。文件具有一定的格式,并具有数据持久性。n文件分类:文件分类: (C语言中按文件里的数据组织形式语言中按文件里的数据组织形式)可分为:可分为:文本文件文本文件 、二进制文件、二进制文件 文本文件和二进制文件文本文件和二进制文件n在存储空间上:文本文件所占空间较大。在存储空间上:文本文件所占空间较大。 如:如:整数整数251686,在二进制文件中占,在二进制文件

2、中占4个字个字节节(整型整型),而在文本文件中占,而在文本文件中占6个字节。个字节。 再如:再如:1.234567,在二进制文件中占,在二进制文件中占4个字个字节节(浮点型浮点型),而在文本文件中占,而在文本文件中占8个字节。个字节。 n文本文件可直接阅读,而二进制文件不能被人文本文件可直接阅读,而二进制文件不能被人直接阅读,需要通过转换。直接阅读,需要通过转换。文件的操作顺序文件的操作顺序 (1) 定义文件指针定义文件指针 (2) 打开一个文件打开一个文件 (3) 对文件进行相关操作对文件进行相关操作 (读、写、查找、定位等读、写、查找、定位等) (4) 关闭文件关闭文件文件的读写操作文件的

3、读写操作 n读操作:读操作: 打开一个文件,从文件中读取信息,然打开一个文件,从文件中读取信息,然后关闭文件。后关闭文件。 n写操作:写操作: 打开一个文件,往文件中写入信息,然打开一个文件,往文件中写入信息,然后关闭文件。后关闭文件。 文件的基本操作文件的基本操作 (1) 打开文件打开文件 函数名称函数名称: fopen 使用方式:使用方式:fp = fopen(“a.txt“, “r“); 文件指针文件指针 待打开文件待打开文件 文件打开方式文件打开方式(只读只读) 例:例:FILE fp; /定义一个文件指针定义一个文件指针 fp = fopen(“a.txt“, “r“); /以只读方

4、式打开以只读方式打开当当 前目录下的文件前目录下的文件a.txt fp = fopen(“a.txt“, “w“); /以只写方式打开以只写方式打开当当 前目录下的文件前目录下的文件a.txt fp = fopen(“d:/b.dat“, “r“); /以只读方式打以只读方式打 开开d盘根目录下的文件盘根目录下的文件b.dat n文件的打开方式:文件的打开方式:P333 表表13-1文件的基本操作文件的基本操作(2)关闭文件关闭文件 函数名称函数名称:fclose 使用方式:使用方式:fclose(fp); /fp为文件指针为文件指针 例:例: FILE fp; /定义一个文件指针定义一个文件

5、指针 fp = fopen(“a.txt”, “r”); /以只读方式以只读方式打开当前目录下的文件打开当前目录下的文件a.txt /对文件进行一些相关操作对文件进行一些相关操作 fclose(fp); /文件处理结束后,必须关闭文件文件处理结束后,必须关闭文件 (3)写文件写文件 函数名称函数名称: fprintf 使用方式:使用方式:fprintf(fp, 格式控制串格式控制串, 输出列表输出列表);例:例:编写程序,将一个字符串输出到一个文本文编写程序,将一个字符串输出到一个文本文件中件中。 假定文本文件名称为假定文本文件名称为a1.txt。 #include int main() ch

6、ar a100;FILE *fp; gets(a); /从键盘读入字符串从键盘读入字符串 if ( ! fp=fopen(a1.txt, w) ) ) exit (0); fprintf(fp, %s, a); /将字符串写入到文件中将字符串写入到文件中 fclose(fp); /关闭文件关闭文件 return 0;文件基本操作文件基本操作(3)读文件读文件 函数名称函数名称: fscanf 使用方式:使用方式:fscanf(fp, 格式控制串格式控制串, 输入列表输入列表);例:例:编写程序,将文件编写程序,将文件a1.txt中的字符串读入到中的字符串读入到内存中,并在屏幕上输出该字符串。内

7、存中,并在屏幕上输出该字符串。#include int main() char a100; FILE *fp; int i=0; if (! (fp=fopen(“a1.txt”, “r”) ) ) ; exit(0);while (!feof(fp) /判断文件是否结束判断文件是否结束 fscanf(fp, %c, &ai); /从文件中读出一个字符从文件中读出一个字符 i+; ai=0; /fgets(a,100,fp); puts(a); fclose(fp); /关闭文件关闭文件 return 0;文件基本操作文件基本操作(5) 其它相关文件操作函数其它相关文件操作函数 n判断文件结束

8、函数:判断文件结束函数:feof(fp); 到达文件尾,返回非零,否则返回到达文件尾,返回非零,否则返回0。nfputc(ch,fp); 将字符将字符ch写入到文件写入到文件fp中中 nch=fgetc(fp);从文件中取一个字符,存储到从文件中取一个字符,存储到ch中中 nfputs(str, fp); 将字符串将字符串str输出到文件输出到文件fp中中 nfgets(str,100,fp); 从文件中取从文件中取99(即即100-1)个字符个字符 练习练习(ch13_lainxi1)(1)用)用fprintf函数向文件函数向文件myint.txt中写中写入入10个整数,要求整数是从键盘上输

9、入个整数,要求整数是从键盘上输入的。的。 (2)将)将myint.txt文件中的所有整数读取文件中的所有整数读取到内存,并显示在屏幕上。到内存,并显示在屏幕上。 文件的块读写操作文件的块读写操作数据块写函数:数据块写函数:fwriten格式格式 fwrite(要写入的数据块首地址,写入数据的字节数,一要写入的数据块首地址,写入数据的字节数,一次写入几个数据块,要写入的文件指针次写入几个数据块,要写入的文件指针); 如:如:将一个字符串写入到文件中。将一个字符串写入到文件中。 #include int main() char a100;FILE *fp; gets(a); if( ! ( fp=

10、fopen(“ d:/a1.txt”, “wb”) ) ) exit(0); fwrite(a,strlen(a),1,fp); fclose(fp); /关闭文件关闭文件 return 0;数据块读函数:数据块读函数:freadn格式格式 fread(读出后数据存储的首地址,读出数据的字节数,一次读读出后数据存储的首地址,读出数据的字节数,一次读出几个数据块,要读出数据的文件指针出几个数据块,要读出数据的文件指针) 如:如:从一个文件中读从一个文件中读取字符串,直到文件结束。取字符串,直到文件结束。 #include int main() char a100;FILE *fp; if( !

11、(fp=fopen(d:/a1.txt, rb) ) ) exit (0);while (!feof(fp) if (fread(a,100,1,fp) ) /如果读取成功,才输出字符串如果读取成功,才输出字符串 puts(a); fclose(fp); /关闭文件关闭文件 return 0;例:调用例:调用fwrite函数,将函数,将3名学生的信息写入二进制文件名学生的信息写入二进制文件d:tempmytxt中。中。#include stdio.hstruct stuchar name10;int age;float score;void main() int i=0; FILE *fp;

12、struct stu s3= Sally,35,100, Yan,10,100, Tom,50,98 ; struct stu ss3; if ( ! (fp=fopen(d:/temp/mytxt,wb) ) ) exit (0); for(i=0;i3;i+) fwrite(s+i,sizeof(struct stu),1,fp); fclose(fp); fp=fopen(d:/temp/mytxt,rb); for(i=0;i3;i+) fread(ss+i,sizeof(struct stu),1,fp); printf(%s,%d,%fn,ssi.name,ssi.age,ssi.score); Sally,35,100.000000Yan,10,100.000000Tom,50,98.000000

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号