第十一章文件.ppt

上传人:可****阿 文档编号:69829224 上传时间:2023-01-09 格式:PPT 页数:27 大小:366KB
返回 下载 相关 举报
第十一章文件.ppt_第1页
第1页 / 共27页
第十一章文件.ppt_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《第十一章文件.ppt》由会员分享,可在线阅读,更多相关《第十一章文件.ppt(27页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第11章 文件 文件概述 文件的打开与关闭 文件的读写 文件的定位10.1 文件概述文件概述 一、文件的概念一、文件的概念一、文件的概念一、文件的概念 在程序运行时,程序本身和数据一般都存放在内存中,当程序运行结束后,在程序运行时,程序本身和数据一般都存放在内存中,当程序运行结束后,在程序运行时,程序本身和数据一般都存放在内存中,当程序运行结束后,在程序运行时,程序本身和数据一般都存放在内存中,当程序运行结束后,存放在内存中的数据被释放。如果要想长期保存程序运行所需的原始数据或程存放在内存中的数据被释放。如果要想长期保存程序运行所需的原始数据或程存放在内存中的数据被释放。如果要想长期保存程序运

2、行所需的原始数据或程存放在内存中的数据被释放。如果要想长期保存程序运行所需的原始数据或程序运行产生的结果,就需要使用文件。序运行产生的结果,就需要使用文件。序运行产生的结果,就需要使用文件。序运行产生的结果,就需要使用文件。所谓文件,一般指存储在外部介质上的数据的集合。从文件的逻辑结构看,所谓文件,一般指存储在外部介质上的数据的集合。从文件的逻辑结构看,所谓文件,一般指存储在外部介质上的数据的集合。从文件的逻辑结构看,所谓文件,一般指存储在外部介质上的数据的集合。从文件的逻辑结构看,C C C C语言把文件看成是一个个字符(字节)的序列,即由字符(字节)数据顺序语言把文件看成是一个个字符(字节

3、)的序列,即由字符(字节)数据顺序语言把文件看成是一个个字符(字节)的序列,即由字符(字节)数据顺序语言把文件看成是一个个字符(字节)的序列,即由字符(字节)数据顺序组成。组成。组成。组成。从不同的角度,可对文件做如下的分类。从不同的角度,可对文件做如下的分类。从不同的角度,可对文件做如下的分类。从不同的角度,可对文件做如下的分类。从用户的角度看,文件可分为普通文件和设备文件从用户的角度看,文件可分为普通文件和设备文件从用户的角度看,文件可分为普通文件和设备文件从用户的角度看,文件可分为普通文件和设备文件 按照数据在文件中的存储方式,文件可以分为文本文件和二进制文件按照数据在文件中的存储方式,

4、文件可以分为文本文件和二进制文件按照数据在文件中的存储方式,文件可以分为文本文件和二进制文件按照数据在文件中的存储方式,文件可以分为文本文件和二进制文件 文件系统对文件的处理方法分为两种:缓冲文件系统和非缓冲文件系统。文件系统对文件的处理方法分为两种:缓冲文件系统和非缓冲文件系统。文件系统对文件的处理方法分为两种:缓冲文件系统和非缓冲文件系统。文件系统对文件的处理方法分为两种:缓冲文件系统和非缓冲文件系统。10.1 文件概述文件概述 二、文件类型指针二、文件类型指针二、文件类型指针二、文件类型指针 在语言中使用文件,必须用一个指针变量指向一个文件,这个指针称为在语言中使用文件,必须用一个指针变

5、量指向一个文件,这个指针称为在语言中使用文件,必须用一个指针变量指向一个文件,这个指针称为在语言中使用文件,必须用一个指针变量指向一个文件,这个指针称为文件指针。通过文件指针就可对它所指向的文件进行各种操作。文件指针。通过文件指针就可对它所指向的文件进行各种操作。文件指针。通过文件指针就可对它所指向的文件进行各种操作。文件指针。通过文件指针就可对它所指向的文件进行各种操作。定义文件指针的一般形式为:定义文件指针的一般形式为:定义文件指针的一般形式为:定义文件指针的一般形式为:FILE*FILE*FILE*FILE*指针变量标识符指针变量标识符指针变量标识符指针变量标识符;其中其中其中其中FIL

6、EFILEFILEFILE必须为大写,它是在头文件必须为大写,它是在头文件必须为大写,它是在头文件必须为大写,它是在头文件stdio.hstdio.hstdio.hstdio.h中定义的一个结构体,该结中定义的一个结构体,该结中定义的一个结构体,该结中定义的一个结构体,该结构体中含有文件名、文件状态和文件当前位置等信息。构体中含有文件名、文件状态和文件当前位置等信息。构体中含有文件名、文件状态和文件当前位置等信息。构体中含有文件名、文件状态和文件当前位置等信息。例如:例如:例如:例如:FILE*FILE*FILE*FILE*fpfpfpfp;表示定义了一个名为表示定义了一个名为表示定义了一个名

7、为表示定义了一个名为fpfpfpfp的文件指针。如果变量的文件指针。如果变量的文件指针。如果变量的文件指针。如果变量fpfpfpfp已被正确赋值,则可以根已被正确赋值,则可以根已被正确赋值,则可以根已被正确赋值,则可以根据据据据fpfpfpfp所提供的信息找到一个文件并实施对该文件的操作。习惯上把所提供的信息找到一个文件并实施对该文件的操作。习惯上把所提供的信息找到一个文件并实施对该文件的操作。习惯上把所提供的信息找到一个文件并实施对该文件的操作。习惯上把fpfpfpfp称为指向称为指向称为指向称为指向文件的指针。文件的指针。文件的指针。文件的指针。返回返回10.2 文件文件的打开与关闭文件文

8、件的打开与关闭 使用文件前要打开文件,使用完毕要关闭文件。使用文件前要打开文件,使用完毕要关闭文件。使用文件前要打开文件,使用完毕要关闭文件。使用文件前要打开文件,使用完毕要关闭文件。一、文件的打开一、文件的打开一、文件的打开一、文件的打开 用用用用fopenfopenfopenfopen()()()()函数打开文件,其调用的一般形式为:函数打开文件,其调用的一般形式为:函数打开文件,其调用的一般形式为:函数打开文件,其调用的一般形式为:FILE*FILE*FILE*FILE*fpfpfpfp;fpfpfpfp=fopenfopenfopenfopen(文件名文件名文件名文件名,打开文件的方式

9、打开文件的方式打开文件的方式打开文件的方式););););调用调用调用调用fopenfopenfopenfopen()()()()函数后,返回一个文件指针,以后对该文件的操作都通过该函数后,返回一个文件指针,以后对该文件的操作都通过该函数后,返回一个文件指针,以后对该文件的操作都通过该函数后,返回一个文件指针,以后对该文件的操作都通过该文件指针进行;如果在执行打开操作时失败,则返回值是一个空指针(值为文件指针进行;如果在执行打开操作时失败,则返回值是一个空指针(值为文件指针进行;如果在执行打开操作时失败,则返回值是一个空指针(值为文件指针进行;如果在执行打开操作时失败,则返回值是一个空指针(值

10、为NULLNULLNULLNULL)。)。)。)。10.2 文件文件的打开与关闭文件文件的打开与关闭 一、文件的打开一、文件的打开一、文件的打开一、文件的打开 打开一个文件实际提供了三个方面的信息:打开一个文件实际提供了三个方面的信息:打开一个文件实际提供了三个方面的信息:打开一个文件实际提供了三个方面的信息:要打开哪一个文件(用文件名指出)。要打开哪一个文件(用文件名指出)。要打开哪一个文件(用文件名指出)。要打开哪一个文件(用文件名指出)。打开文件的方式。打开文件的方式。打开文件的方式。打开文件的方式。让哪一个指针变量指向该文件。让哪一个指针变量指向该文件。让哪一个指针变量指向该文件。让哪

11、一个指针变量指向该文件。二、文件的关闭二、文件的关闭二、文件的关闭二、文件的关闭 用用用用fclosefclosefclosefclose()()()()函数关闭文件,其调用的一般形式为:函数关闭文件,其调用的一般形式为:函数关闭文件,其调用的一般形式为:函数关闭文件,其调用的一般形式为:fclosefclosefclosefclose(文件指针文件指针文件指针文件指针);它通知操作系统,将此指针指向的文件关闭。如果文件关闭成功,返回空它通知操作系统,将此指针指向的文件关闭。如果文件关闭成功,返回空它通知操作系统,将此指针指向的文件关闭。如果文件关闭成功,返回空它通知操作系统,将此指针指向的文

12、件关闭。如果文件关闭成功,返回空值值值值NULLNULLNULLNULL。返回返回10.3 文件的读写文件的读写 一、字符读写函数一、字符读写函数一、字符读写函数一、字符读写函数fputcfputcfputcfputc()()()()和和和和fgetcfgetcfgetcfgetc()()()()字符读写函数是以字符字符读写函数是以字符字符读写函数是以字符字符读写函数是以字符(字节字节字节字节)为单位的读写函数。每次可从文件读出或向为单位的读写函数。每次可从文件读出或向为单位的读写函数。每次可从文件读出或向为单位的读写函数。每次可从文件读出或向文件写入一个字符。文件写入一个字符。文件写入一个字

13、符。文件写入一个字符。1 1 1 1fputcfputcfputcfputc()()()()函数函数函数函数 fputcfputcfputcfputc()()()()函数把一个字符写入到指定文件中,其调用的一般形式为:函数把一个字符写入到指定文件中,其调用的一般形式为:函数把一个字符写入到指定文件中,其调用的一般形式为:函数把一个字符写入到指定文件中,其调用的一般形式为:fputcfputcfputcfputc(字符量字符量字符量字符量,文件指针文件指针文件指针文件指针););););fputcfputcfputcfputc()()()()函数有一个返回值,如写入成功则返回写入的字符,否则返回

14、函数有一个返回值,如写入成功则返回写入的字符,否则返回函数有一个返回值,如写入成功则返回写入的字符,否则返回函数有一个返回值,如写入成功则返回写入的字符,否则返回EOFEOFEOFEOF。例例例例11-1 11-1 11-1 11-1 使用使用使用使用fputcfputcfputcfputc()()()()函数在屏幕上输出一个字符串。函数在屏幕上输出一个字符串。函数在屏幕上输出一个字符串。函数在屏幕上输出一个字符串。#include#include#include#include main()main()main()main()char*p=C Language.;char*p=C Langu

15、age.;char*p=C Language.;char*p=C Language.;for(;*p!=0;p+)for(;*p!=0;p+)for(;*p!=0;p+)for(;*p!=0;p+)fputcfputcfputcfputc(*(*(*(*p,stdoutp,stdoutp,stdoutp,stdout);/*);/*);/*);/*stdoutstdoutstdoutstdout为标准输出文件为标准输出文件为标准输出文件为标准输出文件*/10.3 文件的读写文件的读写 一、字符读写函数一、字符读写函数一、字符读写函数一、字符读写函数fputcfputcfputcfputc()(

16、)()()和和和和fgetcfgetcfgetcfgetc()()()()1 1 1 1fputcfputcfputcfputc()()()()函数函数函数函数例例例例11-2 11-2 11-2 11-2 把从键盘输入的一串字符写入到磁盘文件把从键盘输入的一串字符写入到磁盘文件把从键盘输入的一串字符写入到磁盘文件把从键盘输入的一串字符写入到磁盘文件str.txtstr.txtstr.txtstr.txt中。中。中。中。#include#include#include#include main()main()main()main()FILE*FILE*FILE*FILE*fpfpfpfp;/*

17、;/*;/*;/*定义文件指针定义文件指针定义文件指针定义文件指针*/char char char char chchchch;if(fpif(fpif(fpif(fp=fopen(str.txt,wfopen(str.txt,wfopen(str.txt,wfopen(str.txt,w)=NULL)=NULL)=NULL)=NULL)printf(Cannotprintf(Cannotprintf(Cannotprintf(Cannot open this file.n);open this file.n);open this file.n);open this file.n);exit(

18、0);exit(0);exit(0);exit(0);while(chwhile(chwhile(chwhile(ch=getchargetchargetchargetchar()!=n)()!=n)()!=n)()!=n)fputc(ch,fpfputc(ch,fpfputc(ch,fpfputc(ch,fp);/*);/*);/*);/*将将将将chchchch写入到写入到写入到写入到fpfpfpfp所指向的文件中所指向的文件中所指向的文件中所指向的文件中*/fclose(fpfclose(fpfclose(fpfclose(fp););););10.3 文件的读写文件的读写 一、字符读写

19、函数一、字符读写函数一、字符读写函数一、字符读写函数fputcfputcfputcfputc()()()()和和和和fgetcfgetcfgetcfgetc()()()()2 2 2 2fgetcfgetcfgetcfgetc()()()()函数函数函数函数 fgetcfgetcfgetcfgetc()()()()函数从指定的文件读取一个字符,其调用的一般形式为:函数从指定的文件读取一个字符,其调用的一般形式为:函数从指定的文件读取一个字符,其调用的一般形式为:函数从指定的文件读取一个字符,其调用的一般形式为:字符变量字符变量字符变量字符变量=fgetcfgetcfgetcfgetc(文件指针

20、文件指针文件指针文件指针););););该函数从文件指针所指向的文件的开始位置读取一个字符并赋给一个字符该函数从文件指针所指向的文件的开始位置读取一个字符并赋给一个字符该函数从文件指针所指向的文件的开始位置读取一个字符并赋给一个字符该函数从文件指针所指向的文件的开始位置读取一个字符并赋给一个字符变量。变量。变量。变量。feoffeoffeoffeof()()()()函数,用来判断被读取的文件是否已经读完。当未遇到文件结束标函数,用来判断被读取的文件是否已经读完。当未遇到文件结束标函数,用来判断被读取的文件是否已经读完。当未遇到文件结束标函数,用来判断被读取的文件是否已经读完。当未遇到文件结束标

21、志时,志时,志时,志时,feoffeoffeoffeof()()()()的返回值为的返回值为的返回值为的返回值为0 0 0 0,否则返回非,否则返回非,否则返回非,否则返回非0 0 0 0。例例例例11-3 11-3 11-3 11-3 读出文件读出文件读出文件读出文件str.txtstr.txtstr.txtstr.txt中的字符并显示在屏幕上。中的字符并显示在屏幕上。中的字符并显示在屏幕上。中的字符并显示在屏幕上。#include#include#include#include main()main()main()main()FILE*FILE*FILE*FILE*fpfpfpfp;cha

22、r;char;char;char chchchch;if(fpif(fpif(fpif(fp=fopen(str.txtfopen(str.txtfopen(str.txtfopen(str.txt,r)=NULL),r)=NULL),r)=NULL),r)=NULL)printf(Cannotprintf(Cannotprintf(Cannotprintf(Cannot open this file.n);open this file.n);open this file.n);open this file.n);exit(0);exit(0);exit(0);exit(0);while(ch

23、while(chwhile(chwhile(ch=fgetc(fpfgetc(fpfgetc(fpfgetc(fp)!=EOF)!=EOF)!=EOF)!=EOF)putchar(chputchar(chputchar(chputchar(ch););););fclose(fpfclose(fpfclose(fpfclose(fp););););10.3 文件的读写文件的读写 一、字符读写函数一、字符读写函数一、字符读写函数一、字符读写函数fputcfputcfputcfputc()()()()和和和和fgetcfgetcfgetcfgetc()()()()2 2 2 2fgetcfgetcf

24、getcfgetc()()()()函数函数函数函数例例例例11-4 11-4 11-4 11-4 将例将例将例将例11-311-311-311-3的程序清单加行号后输出。的程序清单加行号后输出。的程序清单加行号后输出。的程序清单加行号后输出。#include#include#include#include main()main()main()main()FILE*FILE*FILE*FILE*fpfpfpfp;intintintint row=1,isprn=1;char row=1,isprn=1;char row=1,isprn=1;char row=1,isprn=1;char chch

25、chch;if(fpif(fpif(fpif(fp=fopen(p1103.c,r)=NULL)=fopen(p1103.c,r)=NULL)=fopen(p1103.c,r)=NULL)=fopen(p1103.c,r)=NULL)printf(Cannotprintf(Cannotprintf(Cannotprintf(Cannot open this file.n);open this file.n);open this file.n);open this file.n);exit(0);exit(0);exit(0);exit(0);while(chwhile(chwhile(chwh

26、ile(ch=fgetc(fpfgetc(fpfgetc(fpfgetc(fp)!=EOF)!=EOF)!=EOF)!=EOF)if(isprnif(isprnif(isprnif(isprn=1)=1)=1)=1)printf(%-4d,row+);/*printf(%-4d,row+);/*printf(%-4d,row+);/*printf(%-4d,row+);/*打印行号打印行号打印行号打印行号*/isprnisprnisprnisprn=0;=0;=0;=0;putchar(chputchar(chputchar(chputchar(ch););););if(chif(chif(c

27、hif(ch=n)=n)=n)=n)isprnisprnisprnisprn=1;=1;=1;=1;fclose(fpfclose(fpfclose(fpfclose(fp););););10.3 文件的读写文件的读写 二、字符串读写函数二、字符串读写函数二、字符串读写函数二、字符串读写函数fputsfputsfputsfputs()()()()和和和和fgetsfgetsfgetsfgets()()()()1 1 1 1fputsfputsfputsfputs()()()()函数函数函数函数 fputsfputsfputsfputs()()()()函数向指定的文件写入一个字符串,但不写入字符

28、串结束标记函数向指定的文件写入一个字符串,但不写入字符串结束标记函数向指定的文件写入一个字符串,但不写入字符串结束标记函数向指定的文件写入一个字符串,但不写入字符串结束标记0000,其调用的一般形式为:,其调用的一般形式为:,其调用的一般形式为:,其调用的一般形式为:fputsfputsfputsfputs(字符串字符串字符串字符串,文件指针文件指针文件指针文件指针););););例例例例11-5 11-5 11-5 11-5 向文件向文件向文件向文件str.txtstr.txtstr.txtstr.txt中添加一串字符。中添加一串字符。中添加一串字符。中添加一串字符。#include#inc

29、lude#include#include main()main()main()main()FILE*FILE*FILE*FILE*fpfpfpfp;char char char char strstrstrstr=Visual C+.;=Visual C+.;=Visual C+.;=Visual C+.;if(fpif(fpif(fpif(fp=fopen(str.txt,afopen(str.txt,afopen(str.txt,afopen(str.txt,a)=NULL)=NULL)=NULL)=NULL)printf(Cannotprintf(Cannotprintf(Cannotp

30、rintf(Cannot open this file.n);open this file.n);open this file.n);open this file.n);exit(0);exit(0);exit(0);exit(0);fputs(n,fpfputs(n,fpfputs(n,fpfputs(n,fp););););fputs(str,fpfputs(str,fpfputs(str,fpfputs(str,fp););););fclose(fpfclose(fpfclose(fpfclose(fp););););10.3 文件的读写文件的读写 二、字符串读写函数二、字符串读写函数二

31、、字符串读写函数二、字符串读写函数fputsfputsfputsfputs()()()()和和和和fgetsfgetsfgetsfgets()()()()2 2 2 2fgetsfgetsfgetsfgets()()()()函数函数函数函数 fgetsfgetsfgetsfgets()()()()函数从指定的文件读取一串字符,其调用的一般形式为:函数从指定的文件读取一串字符,其调用的一般形式为:函数从指定的文件读取一串字符,其调用的一般形式为:函数从指定的文件读取一串字符,其调用的一般形式为:fgetsfgetsfgetsfgets(字符数组名字符数组名字符数组名字符数组名,n,n,n,n,文

32、件指针文件指针文件指针文件指针););););例例例例11-6 11-6 11-6 11-6 在屏幕上显示文件在屏幕上显示文件在屏幕上显示文件在屏幕上显示文件str.txtstr.txtstr.txtstr.txt的内容。的内容。的内容。的内容。#include#include#include#include main()main()main()main()FILE*FILE*FILE*FILE*fpfpfpfp;char str21;char str21;char str21;char str21;if(fpif(fpif(fpif(fp=fopen(str.txt,rfopen(str.t

33、xt,rfopen(str.txt,rfopen(str.txt,r)=NULL)=NULL)=NULL)=NULL)printf(Cannotprintf(Cannotprintf(Cannotprintf(Cannot open this file.n);open this file.n);open this file.n);open this file.n);exit(0);exit(0);exit(0);exit(0);while(fgets(str,20,fp)!=NULL)while(fgets(str,20,fp)!=NULL)while(fgets(str,20,fp)!=NU

34、LL)while(fgets(str,20,fp)!=NULL)printf(%s,strprintf(%s,strprintf(%s,strprintf(%s,str););););fclose(fpfclose(fpfclose(fpfclose(fp););););10.3 文件的读写文件的读写 三、格式化读写函数三、格式化读写函数三、格式化读写函数三、格式化读写函数fscanffscanffscanffscanf()()()()和和和和fprintffprintffprintffprintf()()()()1 1 1 1fprintffprintffprintffprintf()()(

35、)()函数函数函数函数 fprintffprintffprintffprintf()()()()函数按规定的格式向指定的文件写入数据,其调用形式为:函数按规定的格式向指定的文件写入数据,其调用形式为:函数按规定的格式向指定的文件写入数据,其调用形式为:函数按规定的格式向指定的文件写入数据,其调用形式为:fprintffprintffprintffprintf(文件指针文件指针文件指针文件指针,格式控制字符串格式控制字符串格式控制字符串格式控制字符串,输出数据列表输出数据列表输出数据列表输出数据列表););););例例例例11-7 11-7 11-7 11-7 将一个学生的基本信息保存到文件将一

36、个学生的基本信息保存到文件将一个学生的基本信息保存到文件将一个学生的基本信息保存到文件student.datstudent.datstudent.datstudent.dat中。中。中。中。#include#include#include#include structstructstructstruct date date date date intintintint year;year;year;year;intintintint month;month;month;month;intintintint day;day;day;day;structstructstructstruct stu

37、dent student student student long long long long intintintint num;num;num;num;char name10;char name10;char name10;char name10;char sex;char sex;char sex;char sex;structstructstructstruct date birthday;date birthday;date birthday;date birthday;intintintint eng,math,c_proeng,math,c_proeng,math,c_proen

38、g,math,c_pro;10.3 文件的读写文件的读写 三、格式化读写函数三、格式化读写函数三、格式化读写函数三、格式化读写函数fscanffscanffscanffscanf()()()()和和和和fprintffprintffprintffprintf()()()()1 1 1 1fprintffprintffprintffprintf()()()()函数函数函数函数例例例例11-7 11-7 11-7 11-7 将一个学生的基本信息保存到文件将一个学生的基本信息保存到文件将一个学生的基本信息保存到文件将一个学生的基本信息保存到文件student.datstudent.datstuden

39、t.datstudent.dat中。(续)中。(续)中。(续)中。(续)main()main()main()main()structstructstructstruct student s;student s;student s;student s;FILE*FILE*FILE*FILE*fpfpfpfp;if(fpif(fpif(fpif(fp=fopen(student.datfopen(student.datfopen(student.datfopen(student.dat,w)=NULL),w)=NULL),w)=NULL),w)=NULL)printf(Cannotprintf(C

40、annotprintf(Cannotprintf(Cannot open this file.n);open this file.n);open this file.n);open this file.n);exit(0);exit(0);exit(0);exit(0);s.nums.nums.nums.num=900001;strcpy(s.name,wangfang);s.sex=F;=900001;strcpy(s.name,wangfang);s.sex=F;=900001;strcpy(s.name,wangfang);s.sex=F;=900001;strcpy(s.name,wa

41、ngfang);s.sex=F;s.birthday.years.birthday.years.birthday.years.birthday.year=1990;=1990;=1990;=1990;s.birthday.months.birthday.months.birthday.months.birthday.month=9;=9;=9;=9;s.birthday.days.birthday.days.birthday.days.birthday.day=16;=16;=16;=16;s.engs.engs.engs.eng=88;s.math=95;s.c_pro=98;=88;s.m

42、ath=95;s.c_pro=98;=88;s.math=95;s.c_pro=98;=88;s.math=95;s.c_pro=98;fprintf(fp,%ldfprintf(fp,%ldfprintf(fp,%ldfprintf(fp,%ld%s%c%d%s%c%d%s%c%d%s%c%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d,s.num,s.named,s.num,s.named,s.num,s.named,s.num,s.name,s.sex,s.birthday.year,s.birthday.month,s.birthday.day,s.engs.s

43、ex,s.birthday.year,s.birthday.month,s.birthday.day,s.engs.sex,s.birthday.year,s.birthday.month,s.birthday.day,s.engs.sex,s.birthday.year,s.birthday.month,s.birthday.day,s.eng,s.math,s.c_pros.math,s.c_pros.math,s.c_pros.math,s.c_pro););););fclose(fpfclose(fpfclose(fpfclose(fp););););10.3 文件的读写文件的读写 三

44、、格式化读写函数三、格式化读写函数三、格式化读写函数三、格式化读写函数fscanffscanffscanffscanf()()()()和和和和fprintffprintffprintffprintf()()()()2 2 2 2fscanffscanffscanffscanf()()()()函数函数函数函数 fscanffscanffscanffscanf()()()()函数按规定的格式从指定的文件读取数据,其调用形式为:函数按规定的格式从指定的文件读取数据,其调用形式为:函数按规定的格式从指定的文件读取数据,其调用形式为:函数按规定的格式从指定的文件读取数据,其调用形式为:fscanffsc

45、anffscanffscanf(文件指针文件指针文件指针文件指针,格式控制字符串格式控制字符串格式控制字符串格式控制字符串,地址列表地址列表地址列表地址列表););););例例例例11-8 11-8 11-8 11-8 将例将例将例将例11-711-711-711-7中保存的学生的基本信息从文件中读出并显示。中保存的学生的基本信息从文件中读出并显示。中保存的学生的基本信息从文件中读出并显示。中保存的学生的基本信息从文件中读出并显示。#include#include#include#include structstructstructstruct date date date date inti

46、ntintint year;year;year;year;intintintint month;month;month;month;intintintint day;day;day;day;structstructstructstruct student student student student long long long long intintintint num;num;num;num;char name10;char name10;char name10;char name10;char sex;char sex;char sex;char sex;structstructstr

47、uctstruct date birthday;date birthday;date birthday;date birthday;intintintint eng,math,c_proeng,math,c_proeng,math,c_proeng,math,c_pro;10.3 文件的读写文件的读写 三、格式化读写函数三、格式化读写函数三、格式化读写函数三、格式化读写函数fscanffscanffscanffscanf()()()()和和和和fprintffprintffprintffprintf()()()()2 2 2 2fscanffscanffscanffscanf()()()()函

48、数函数函数函数例例例例11-8 11-8 11-8 11-8 将例将例将例将例11-711-711-711-7中保存的学生的基本信息从文件中读出并显示。(续)中保存的学生的基本信息从文件中读出并显示。(续)中保存的学生的基本信息从文件中读出并显示。(续)中保存的学生的基本信息从文件中读出并显示。(续)main()main()main()main()structstructstructstruct student s;student s;student s;student s;FILE*FILE*FILE*FILE*fpfpfpfp;if(fpif(fpif(fpif(fp=fopen(stud

49、ent.datfopen(student.datfopen(student.datfopen(student.dat,r)=NULL),r)=NULL),r)=NULL),r)=NULL)printf(Cannotprintf(Cannotprintf(Cannotprintf(Cannot open this file.n);open this file.n);open this file.n);open this file.n);exit(0);exit(0);exit(0);exit(0);fscanf(fp,%ldfscanf(fp,%ldfscanf(fp,%ldfscanf(fp,

50、%ld%s%c%d%s%c%d%s%c%d%s%c%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d%d,&s.num,s.named,&s.num,s.named,&s.num,s.named,&s.num,s.name,&s.sex,&s.birthday.year,&s.birthday.month,&s.birthday.days.sex,&s.birthday.year,&s.birthday.month,&s.birthday.days.sex,&s.birthday.year,&s.birthday.month,&s.birthday.days.sex,&s.b

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com