C语言程序设计第10章-文件操作

举报
资源描述
Page 1 C 课程课程第第10章章 文件操作文件操作 Page 2 主要主要内容内容文件操作概述文件操作概述文件的打开与关闭文件的打开与关闭文件打开函数文件打开函数fopen()(重点)(重点)文件关闭函数文件关闭函数fclose()(重点)(重点)文件读写操作文件读写操作字符读写函数字符读写函数fputc()和和fgetc()(难点)(难点)文件格式化读写文件格式化读写fprintf()和和fscanf()(难(难点)点)综合应用案例综合应用案例Page 3 实际应用中,有时需要把程序处理的数据结果保存成文件,实际应用中,有时需要把程序处理的数据结果保存成文件,以备将来使用;或者程序处理的原始数据是从某个文件中读取以备将来使用;或者程序处理的原始数据是从某个文件中读取出来的。所以,如何实现数据的长期保存又能实现数据共享是出来的。所以,如何实现数据的长期保存又能实现数据共享是程序设计的又一重要内容,其实质就是程序设计的又一重要内容,其实质就是对文件的读写操作对文件的读写操作。对文件的读写操作过程,如同读一本书或写一本书一样,文对文件的读写操作过程,如同读一本书或写一本书一样,文件操作的流程是什么?件操作的流程是什么?问题引入问题引入第一步:打开书本第一步:打开书本读书读书/写书写书第二步:读书中文字第二步:读书中文字 或者在书上写文字或者在书上写文字第三步:合上书本第三步:合上书本读写文件读写文件第一步:打开文件第一步:打开文件第二步:读取文件中的数据第二步:读取文件中的数据 或者向文件中写数据或者向文件中写数据第三步:关闭文件第三步:关闭文件Page 4 10 10 文件操作文件操作10.1 文件操作概述文件操作概述10.2文件的打开与关闭文件的打开与关闭fopen()与与fclose()10.3 文件读写操作文件读写操作10.4 综合案例综合案例Page 5 10.110.1文件操作概述文件操作概述 C语言通过系统提供的结构类型语言通过系统提供的结构类型FILE定义的指针变量定义的指针变量来访问文件来访问文件。结构类型。结构类型FILE已在头文件已在头文件“stdio.h”中定中定义了,所以在对文件进行操作时,用义了,所以在对文件进行操作时,用FILE直接定义文件指直接定义文件指针变量即可。针变量即可。10.1 文件操作概述文件操作概述读书用读书用“眼睛眼睛”,写,写书用书用“笔笔”,文件的,文件的读写用什么呢?读写用什么呢?Page 6 10.110.1文件操作概述文件操作概述定义形式为:定义形式为:FILE FILE*文件指针变量名文件指针变量名;FILE必须大写,必须大写,*表示定义的变量是指针类型。表示定义的变量是指针类型。例:例:FILE*fp;定义定义fp文件指针变量文件指针变量,当读文件时,当读文件时,fp就相当于就相当于“眼眼睛睛”,当写文件时,当写文件时,fp就相当于就相当于“笔笔”。文件有结束文件有结束标志标志EOF10.1 文件操作概述文件操作概述Page 7 定义文件指针变量之后,就可以对文件进行操作了。定义文件指针变量之后,就可以对文件进行操作了。C语言提语言提供了大量的库函数来操作文件。供了大量的库函数来操作文件。fopen(文件名,打开方式);(文件名,打开方式);第一步:打开文件第一步:打开文件第二步:读取文件中的数据第二步:读取文件中的数据 或者向文件中写数据或者向文件中写数据第三步:关闭文件第三步:关闭文件字符读写:字符读写:fgetc();fputc();格式读写:格式读写:fscanf();fprintf();Fclose(文件指针变量文件指针变量);10.110.1文件操作概述文件操作概述10.1 文件操作概述文件操作概述Page 8 10.2 fopen()与与fclose()10.10.2 2文件的打开与关闭文件的打开与关闭fopen()fopen()与与fclose()fclose()定义文件指针变量之后,就可以对文件进行操作了。定义文件指针变量之后,就可以对文件进行操作了。C语言提语言提供了大量的库函数来操作文件。供了大量的库函数来操作文件。fopen(文件名,打开方式);(文件名,打开方式);第一步:打开文件第一步:打开文件第二步:读取文件中的数据第二步:读取文件中的数据 或者向文件中写数据或者向文件中写数据第三步:关闭文件第三步:关闭文件字符读写:字符读写:fgetc();fputc();格式读写:格式读写:fscanf();fprintf();Fclose(文件指针变量文件指针变量);Page 9 uu打开文件打开文件打开文件打开文件fopenfopen 函数原型:函数原型:函数原型:函数原型:FILEFILE *fopenfopen(文件名,打开方式文件名,打开方式文件名,打开方式文件名,打开方式)vv功能:按指定方式打开文件功能:按指定方式打开文件功能:按指定方式打开文件功能:按指定方式打开文件vv返回值:正常打开,为指向文件结构体的指针;返回值:正常打开,为指向文件结构体的指针;返回值:正常打开,为指向文件结构体的指针;返回值:正常打开,为指向文件结构体的指针;打开失败,为打开失败,为打开失败,为打开失败,为NULLNULL要打开的文件名,含路径打开方式打开方式-读读/写写例例 FILE *fp;fp=fopen(“c:fengyibkctest.dat”,”r”);例例 FILE *fp;char *filename=“c:fengyibkctest.dat”fp=fopen(filename,”r”);“r+/rb+”(读写读写)“a/ab”(追加追加)“w/wb”(只写只写)“r/rb”(只读只读)“w+/wb+”(读写读写)“a+/ab+”(读写读写)为为输入输入打开一个文本打开一个文本/二进制文件二进制文件为为输出输出打开或建立一个文本打开或建立一个文本/二进制文件二进制文件为读为读/写打开一个文本写打开一个文本/二进制文件二进制文件为读为读/写建立一个文本写建立一个文本/二进制文件二进制文件为读为读/写打开或建立一个文本写打开或建立一个文本/二进制文件二进制文件向文本向文本/二进制文件尾二进制文件尾追加追加数据数据文件使用方式文件使用方式含义含义10.2 fopen()与与fclose()10.10.2 2文件的打开与关闭文件的打开与关闭fopen()fopen()与与fclose()fclose()Page 10#include void main()FILE*fp;/定义文件指针定义文件指针fp fp=fopen(“test.dat”,“r”);/只读方式打开只读方式打开test.dat文件文件if(fp=NULL)/判断文件是否打开成功判断文件是否打开成功,并输出状态信息并输出状态信息 puts(文件打开失败文件打开失败.);else printf(文件打开成功文件打开成功.);fclose(fp);/关闭打开的文件关闭打开的文件 10.2 fopen()与与fclose()10.10.2 2文件的打开与关闭文件的打开与关闭fopen()fopen()与与fclose()fclose()【例例10-2】打开当前目录中的打开当前目录中的test.dat文件,判断并输出文件文件,判断并输出文件打开状态信息,然后关闭文件。打开状态信息,然后关闭文件。文件名文件名只读打开只读打开运行结果:运行结果:Page 11 1定义一个文件指针定义一个文件指针fpin,指向以只读方式打开的,指向以只读方式打开的文本文件文本文件“d:testin.dat”。2定义一个文件指针定义一个文件指针fpout,指向以只写方式打开,指向以只写方式打开的文本文件的文本文件“d:testout.dat”。【随堂练习【随堂练习10-1】10.10.2 2文件的打开与关闭文件的打开与关闭fopen()fopen()与与fclose()fclose()【提示与思考提示与思考】1.文件指针变量定义文件指针变量定义 2.文件的打开文件的打开3.文件的关闭文件的关闭Page 12 10.3 10.3 文件读写操作文件读写操作 10.3.1 10.3.1字符读写字符读写fputc()和和fgetc()10.3.2 文件格式化读写文件格式化读写fprintf()和和fscanf()Page 13 1.字符写函数字符写函数fputc()功能功能是将字符写入文件中是将字符写入文件中例:例:fputc(c,fp);#include#include void main()void main()char ch;char ch;FILE*fp;FILE*fp;/定义文件指针定义文件指针 fp=fopen(test.dat,w);fp=fopen(test.dat,w);while(ch=getchar()!=n)while(ch=getchar()!=n)/循环输入字符循环输入字符 fputc(ch,fp);fputc(ch,fp);/将字符将字符chch写入写入fpfp指向的文件指向的文件 fclose(fp);fclose(fp);将字符将字符c写入写入fp指指向的文件中向的文件中【例例10-4】从键盘输入一行字符,将从键盘输入一行字符,将输入的字符输出到输入的字符输出到test.dat文件中保存文件中保存10.3.1 字符读写字符读写fputc()和和fgetc()10.3 10.3 文件读写操作文件读写操作程序程序演示演示 Page 14 2.字符读函数字符读函数fgetc()功能功能是从文件中读取一个字符是从文件中读取一个字符例:例:fgetc(fp);#include#include void main()void main()char ch;char ch;FILE*fp;/FILE*fp;/定义文件指针定义文件指针 fp=fopen(test.dat,r);fp=fopen(test.dat,r);ch=fgetc(fp);ch=fgetc(fp);while(ch!=EOF)while(ch!=EOF)/是否访问到文件尾是否访问到文件尾 putchar(ch);putchar(ch);ch=fgetc(fp);ch=fgetc(fp);/fp/fp从文件中从文件中 读取字符,并赋值给读取字符,并赋值给chch fclose(fp);fclose(fp);从从fp指向的文件中读指向的文件中读取一个字符取一个字符【例例10-6】下面程序读取上例中产生下面程序读取上例中产生的的test.dat文件,并将读出结果显示在文件,并将读出结果显示在屏幕上屏幕上 10.3.1 字符读写字符读写fputc()和和fgetc()10.3 10.3 文件读写操作文件读写操作程序程序演示演示 Page 15 1.格式化写入数据函数格式化写入数据函数fprintf()功能功能按照指定的格式把数据写入文件中按照指定的格式把数据写入文件中【例例10-7】(1)fprintf(fp,”%d,%d”,10,20);/将将10和和20以整型数据写入以整型数据写入fp指向的文件中指向的文件中 (2)fprintf(fp,”%lf”,n);/将变量将变量n的值以双精度浮点型数据写入的值以双精度浮点型数据写入fp指向的文件中指向的文件中(3)fprintf(fp,”%s”,”How are you.”);/将字符串将字符串”How are you.”写入写入fp指向文件中指向文件中 10.3.2 文件格式化读写文件格式化读写fprintf()和和fscanf()10.3 10.3 文件读写操作文件读写操作1.指向文指向文件的指针件的指针2.写入数写入数据的格式据的格式控制字符控制字符串串3.写入文写入文件的数据件的数据格式化写入数据格式化写入数据函数函数fprintf()有有三个参数三个参数 Page 16【例例10-8】把从键盘输入的把从键盘输入的10个整数写入个整数写入in.dat文件中保存。文件中保存。
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索

当前位置:首页 > 高等教育 > 大学课件


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