教学课件C语言程序设计案例教程第10章 文件.ppt
《教学课件C语言程序设计案例教程第10章 文件.ppt》由会员分享,可在线阅读,更多相关《教学课件C语言程序设计案例教程第10章 文件.ppt(54页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、PPT模板下载:/moban/ 行业PPT模板:/hangye/ 节日PPT模板:/jieri/ PPT素材下载:/sucai/PPT背景图片:/beijing/ PPT图表下载:/tubiao/ 优秀PPT下载:/xiazai/ PPT教程: /powerpoint/ Word教程: /word/ Excel教程:/excel/ 资料下载:/ziliao/ PPT课件下载:/kejian/ 范文下载:/fanwen/ 试卷下载:/shiti/ 教案下载:/jiaoan/ 字体下载:/ziti/ 教学课件C语言程序设计案例教程第10章 文件C语言程序设计案例教程 C语言程序设计案例教程 大连理
2、工大学出版社第10 章 文件v教学目的:教学目的:通过本章的学习,要求能理解文本文件和二进制文件通过本章的学习,要求能理解文本文件和二进制文件的概念,能熟练使用文件的读写函数对文件进行一系列的的概念,能熟练使用文件的读写函数对文件进行一系列的操作,理解文件的定位和文件的出错检测等,能够利用本操作,理解文件的定位和文件的出错检测等,能够利用本章的知识点进行一些简单的课程设计,为后续课程中系统章的知识点进行一些简单的课程设计,为后续课程中系统的开发奠定基础。的开发奠定基础。 C语言程序设计案例教程 大连理工大学出版社第10 章 文件v本章内容本章内容 文件操作的文件操作的C C程序引例程序引例文件
3、的打开与关闭文件的打开与关闭文件的定位文件的定位文件的读写文件的读写字符串读写函数字符串读写函数其他读写函数其他读写函数文件的出错检测文件的出错检测: ferror: ferror和和 clearerrclearerr函数函数文件随机定位函数文件随机定位函数流式文件的定位函数流式文件的定位函数综合实训综合实训字符读写函数字符读写函数 数据读写函数数据读写函数字符串读写函数字符串读写函数文件头定位函数文件头定位函数判断文件结束函数判断文件结束函数feoffeof C语言程序设计案例教程 大连理工大学出版社第10 章 文件v重点和难点重点和难点重点:重点: (1) 文件的打开与关闭文件的打开与关闭
4、 (2) 文件的读写文件的读写 (3) 文件的定位文件的定位 (4) 文件的出错检测文件的出错检测 难点:难点: (1) 文件的读写文件的读写 (2) 文件的出错检测文件的出错检测 C语言程序设计案例教程 大连理工大学出版社10.1 文件操作的C程序实例 文件操作引例:文件操作引例:【例例10.1】编写程序完成:将一个班级学生的期末考试编写程序完成:将一个班级学生的期末考试信息信息(学号、姓名、总分学号、姓名、总分)存入磁盘文件存入磁盘文件stu.txt中,同时统计中,同时统计总分在总分在550分以上的优秀学生信息,并将优秀学生的名单输分以上的优秀学生信息,并将优秀学生的名单输出到屏幕上。出到
5、屏幕上。 C语言程序设计案例教程 大连理工大学出版社假设班级目前的学生数为假设班级目前的学生数为30,则程序代码如下:,则程序代码如下:/*源文件名:源文件名:Li10_1.c功能:统计一个班级的期末考试信息。功能:统计一个班级的期末考试信息。*/#include #define N 30/*定义班级中学生的人数定义班级中学生的人数*/void main()int i;FILE *fp;FILE *fpp;struct stu char name20; int number;10.1 文件操作的C程序实例 C语言程序设计案例教程 大连理工大学出版社10.1 文件操作的C程序实例 int sco
6、re;studN/*打开或建立打开或建立stu.txt文件,只允许写入数据文件,只允许写入数据*/fp=fopen(stu.txt,w);for(i=0;iN;i+)printf(请输入第请输入第%d个学生的信息:个学生的信息:n,i+1);printf(姓名:姓名:);scanf(%s,studi.name);printf(学号:学号:);scanf(%d,&studi.number);printf(总分:总分:);scanf(%d,&studi.score);fprintf(fp, %s,%d,%dn,studi.name, studi.number, studi.score); C语言程
7、序设计案例教程 大连理工大学出版社10.1 文件操作的C程序实例 close(fp);/*关闭关闭stu.txt文件文件*/*打开已有的打开已有的stu.txt文件,只允许读取数据文件,只允许读取数据*/fpp=fopen(stu.txt,r);for(i=0;i550.0) printf(%s(学号:学号:%d)是个优秀的学生。是个优秀的学生。n,studi.name,studi.number);fclose(fpp);/*关闭关闭stu.txt文件文件*/getch(); C语言程序设计案例教程 大连理工大学出版社10.1 文件操作的C程序实例 程序首先将程序首先将30个学生的信息存放到文
8、件个学生的信息存放到文件stu.txt中,然后对中,然后对存放在存放在stu.txt中的学生的总分进行统计,并将总分在中的学生的总分进行统计,并将总分在550分以上分以上的学生的名单输出。的学生的名单输出。以输入以输入5个个(假设此时假设此时N的值为的值为5)学生的信息为例,程序的运学生的信息为例,程序的运行情况为:行情况为: 请输入第请输入第1个学生的信息:个学生的信息:姓名:张三姓名:张三学号:学号:1总分:总分:368请输入第请输入第2个学生的信息:个学生的信息:姓名:李四姓名:李四学号:学号:2总分:总分:479 C语言程序设计案例教程 大连理工大学出版社10.1 文件操作的C程序实例
9、 请输入第请输入第3个学生的信息:个学生的信息:姓名:王五姓名:王五学号:学号:3总分:总分:598请输入第请输入第4个学生的信息:个学生的信息:姓名:赵六姓名:赵六学号:学号:4总分:总分:564请输入第请输入第5个学生的信息:个学生的信息:姓名:刘七姓名:刘七学号:学号:5总分:总分:321王五王五(学号:学号:3)是个优秀的学生。是个优秀的学生。赵六赵六(学号:学号:4)是个优秀的学生。是个优秀的学生。 C语言程序设计案例教程 大连理工大学出版社10.1 文件操作的C程序实例 此时如果打开文件此时如果打开文件stu.txt,则,则5个学生的信息清单按照输入个学生的信息清单按照输入的顺序存
10、放在的顺序存放在stu.txt文件中,如图文件中,如图10-1所示。所示。图10.1 C语言程序设计案例教程 大连理工大学出版社10.1 文件操作的C程序实例 下面介绍几个跟文件相关的概念:下面介绍几个跟文件相关的概念:n文件是一组相关数据的集合。在文件是一组相关数据的集合。在C程序设计中,按文件的内程序设计中,按文件的内容可以分为两类:一类是程序文件,它是程序得源代码;另一容可以分为两类:一类是程序文件,它是程序得源代码;另一类是数据文件,它是程序运行时需要的原始数据及输出的结果。类是数据文件,它是程序运行时需要的原始数据及输出的结果。这两类文件都保存在磁盘上,随时可以使用。程序文件的创建这
11、两类文件都保存在磁盘上,随时可以使用。程序文件的创建和使用已经在前面各章介绍了,本章主要介绍数据文件的创建和使用已经在前面各章介绍了,本章主要介绍数据文件的创建和使用。和使用。n按数据的存储形式,数据文件可以分为文本文件和二进制文按数据的存储形式,数据文件可以分为文本文件和二进制文件两类。件两类。 C语言程序设计案例教程 大连理工大学出版社10.1 文件操作的C程序实例 n文本文件:也称文本文件:也称ASCII文件,是一种字符流文件。文本文件文件,是一种字符流文件。文本文件的优点是可以直接阅读,而且的优点是可以直接阅读,而且ASCII码标准统一,使文件易码标准统一,使文件易于移植,其缺点是输入
12、、输出都要进行转换,效率低。于移植,其缺点是输入、输出都要进行转换,效率低。n二进制文件:二进制文件中的数据是按其在内存中的存储形二进制文件:二进制文件中的数据是按其在内存中的存储形式存放的。式存放的。n流:流是一个逻辑设备,具有诸多相同的行为。在流:流是一个逻辑设备,具有诸多相同的行为。在C语言中语言中有两种性质的流:文字流和二进制。有两种性质的流:文字流和二进制。n顺序文件:可以进行顺序存取的文件称为顺序文件。顺序文件:可以进行顺序存取的文件称为顺序文件。n随机文件:可以进行随机存取的文件称为随机文件。随机文件:可以进行随机存取的文件称为随机文件。nC语言支持的文件存取方式有两种:顺序存取
13、和随机存取。语言支持的文件存取方式有两种:顺序存取和随机存取。随机存取也称直接存取。随机存取也称直接存取。 C语言程序设计案例教程 大连理工大学出版社10.2 文件的打开与关闭 10.2.1文件的打开 由于文件的打开与关闭都是利用系统函数来实现的,因由于文件的打开与关闭都是利用系统函数来实现的,因此,在编写有关文件的程序时,应该在其中包含此,在编写有关文件的程序时,应该在其中包含“stdio.h”头文件。头文件。文件打开函数文件打开函数fopen用来打开一个文件,其调用的一般用来打开一个文件,其调用的一般形式为:形式为:文件指针名文件指针名=fopen(文件名,使用文件方式文件名,使用文件方式
14、);其中:其中:“文件指针名文件指针名”必须是被说明为必须是被说明为FILE类型的指针类型的指针变量;变量;“文件名文件名”是被打开文件的文件名;是被打开文件的文件名; C语言程序设计案例教程 大连理工大学出版社10.2 文件的打开与关闭 10.2.1文件的打开 文件名通常是文件变量或文件数组;文件名通常是文件变量或文件数组;“使用文件方式使用文件方式”是指文是指文件的类型和操作要求。文件的使用方式共有件的类型和操作要求。文件的使用方式共有12种,表种,表10.1给给出了文本文件的符号和意义。出了文本文件的符号和意义。 文件使用方式文件使用方式代表的含义代表的含义r打开一个已有的文本文件,只允
15、许读取数据打开一个已有的文本文件,只允许读取数据w打开或建立一个文本文件,只允许写入数据打开或建立一个文本文件,只允许写入数据at打开或建立一个文本文件,只允许写入数据打开或建立一个文本文件,只允许写入数据rt+打开一个已有的文本文件,允许读和写打开一个已有的文本文件,允许读和写at+打开一个已有的文本文件,允许读和写打开一个已有的文本文件,允许读和写wt+打开一个已有的文本文件,允许读和写打开一个已有的文本文件,允许读和写表10-1文本文件的符号及其含义 以上六种方式是针对“文本文件”类型 C语言程序设计案例教程 大连理工大学出版社10.2 文件的打开与关闭 10.2.1文件的打开 文件使用
16、方式文件使用方式代表的含义代表的含义rb打开一个已存在的二进制文件,只允许读数据打开一个已存在的二进制文件,只允许读数据 wb打开或建立一个二进制文件,只允许写数据打开或建立一个二进制文件,只允许写数据 ab 打开一个二进制文件,并在文件末尾追加数据打开一个二进制文件,并在文件末尾追加数据 rb+打开一个二进制文件,允许读和写打开一个二进制文件,允许读和写 wb+打开或建立一个二进制文件,允许读和写打开或建立一个二进制文件,允许读和写 ab+ 打开一个二进制文件,允许读或在文件末追加数据打开一个二进制文件,允许读或在文件末追加数据 表10-2二进制文件的符号及其含义 C语言程序设计案例教程 大
17、连理工大学出版社10.2 文件的打开与关闭 10.2.1文件的打开 可以看出,上面两个表的作用基本上是相同的,唯一的可以看出,上面两个表的作用基本上是相同的,唯一的区别是表区别是表10-2增加了一个表示二进制的字符增加了一个表示二进制的字符“b”。其中,文。其中,文件使用方式由件使用方式由r、w、a、t、b和和+六个字符组成,各字符的六个字符组成,各字符的含义如表所示。含义如表所示。 字母字母代表代表含义含义rread读取数据读取数据wWrite写入数据写入数据aApend追加数据追加数据tText文本文件,可省略文本文件,可省略 不写不写bbinary二进制文件二进制文件+可读可写可读可写表
18、10-3 文件使用方式中的字符及其含义 C语言程序设计案例教程 大连理工大学出版社10.2 文件的打开与关闭 10.2.1文件的打开 对上表做以下补充说明:对上表做以下补充说明: 1. 程序中凡是用程序中凡是用“r”打开一个文件时,表明该文件必须已经打开一个文件时,表明该文件必须已经存在,且只能从该文件读出数据。存在,且只能从该文件读出数据。 2用用“w”打开的文件也只能向该文件写入数据。若打开的文打开的文件也只能向该文件写入数据。若打开的文件不存在,则按照指定的文件名建立该文件,若打开的文件已件不存在,则按照指定的文件名建立该文件,若打开的文件已经存在,则将该文件删除,重建一个新文件。使用时
19、要特别注经存在,则将该文件删除,重建一个新文件。使用时要特别注意这一点。意这一点。 3. 如果要向一个已经存在的文件后面追加新的信息,那只能如果要向一个已经存在的文件后面追加新的信息,那只能用用“a”方式打开文件。但此时该文件必须是存在的,否则将会方式打开文件。但此时该文件必须是存在的,否则将会出错。出错。 C语言程序设计案例教程 大连理工大学出版社10.2 文件的打开与关闭 10.2.1文件的打开 4在打开一个文件之前,应该定义文件型指针,以便在打开一个文件之前,应该定义文件型指针,以便接收函数接收函数fopen返回的地址。如果出错,返回的地址。如果出错,fopen将返回一个将返回一个空指针
20、空指针NULL。在程序中可以用这一信息来判别是否完成打开。在程序中可以用这一信息来判别是否完成打开文件的工作,并做相应的处理。文件的工作,并做相应的处理。例如:例如: if(fp=fopen(“file1”,”rb”)= =NULL) printf(“n error on open file1”); getch( ); exit(1); C语言程序设计案例教程 大连理工大学出版社10.2 文件的打开与关闭 10.2.1文件的打开 该程序段表示:如果返回的指针为空,则不能打开当前目录该程序段表示:如果返回的指针为空,则不能打开当前目录下的文件下的文件“file1”,同时给出错误提示信息,同时给出
21、错误提示信息“error on open file1”。程序中的。程序中的getch()函数的功能是从键盘输入函数的功能是从键盘输入一个字符,该字符不在屏幕上显示。其实一个字符,该字符不在屏幕上显示。其实getch()在这里的在这里的作用是停留等待,只有当用户从键盘敲任意键时,程序才继续作用是停留等待,只有当用户从键盘敲任意键时,程序才继续执行,我们可以利用这个等待时间来阅读出错提示,找到错误执行,我们可以利用这个等待时间来阅读出错提示,找到错误原因。当敲任意键后,执行语句原因。当敲任意键后,执行语句“exit(1);”,从而退出程序。,从而退出程序。 C语言程序设计案例教程 大连理工大学出版
22、社10.2 文件的打开与关闭 文件一旦使用完毕,应使用关闭文件函数文件一旦使用完毕,应使用关闭文件函数fclose把文件把文件关闭,以避免文件数据丢失等情况的发生。关闭,以避免文件数据丢失等情况的发生。 fclose函数调用的一般形式为:函数调用的一般形式为: fclose(FILE *fp);其中,参数其中,参数fp是文件型指针,通过是文件型指针,通过fopen()函数已经获得,它函数已经获得,它指向某个打开的文件。例如指向某个打开的文件。例如 fclose(fp); 上述语句的含义是关闭上述语句的含义是关闭fp所指向的文件,同时自动释放所指向的文件,同时自动释放分配给文件的内存缓冲区。当正
23、常完成关闭文件的操作时,分配给文件的内存缓冲区。当正常完成关闭文件的操作时,fclose函数的返回值为函数的返回值为0,表示已正确关闭指定的文件;如返,表示已正确关闭指定的文件;如返回非回非0值则表示有错误发生。值则表示有错误发生。 10.2.2文件的关闭 C语言程序设计案例教程 大连理工大学出版社10.2 文件的打开与关闭 10.2.2文件的关闭 【例例10.2】文件的打开与关闭应用举例。文件的打开与关闭应用举例。 /*源文件名:源文件名:Li10_3.c功能:文件的打开与关闭。功能:文件的打开与关闭。*/#includevoid main() FILE *fp; /*定义一个文件指针定义一
24、个文件指针*/if(fp=fopen(C:STUDENTch01_01ch01_01.c,rb )=NULL)printf(file can not open!n);exit(1);elseprintf(The file succeed open!n);fclose(fp); C语言程序设计案例教程 大连理工大学出版社10.2 文件的打开与关闭 10.2.2文件的关闭 说明:在书写时,要严格按照格式书写,说明:在书写时,要严格按照格式书写,例如:将路径写成例如:将路径写成“C:STUDENTch01_01ch01_01.c”是不正确的,是不正确的,这一点要特别注意。路径写成这一点要特别注意。路
25、径写成“C:STUDENTch01_01ch01_01.c”才是正确才是正确的,这里的的,这里的“”的含义是:第一个的含义是:第一个“”代表转义字符,第代表转义字符,第二个二个“”才是字符本身。才是字符本身。 C语言程序设计案例教程 大连理工大学出版社10.3 文件的读写文件的读写操作由文件读写函数完成,常用的读写函数文件的读写操作由文件读写函数完成,常用的读写函数有有fputc、fgetc、fread、fwrite、fputs、fgets、fprintf、fscanf、putw、getw等。等。10.3.1 字符读写函数读字符函数读字符函数fgetc函数函数写字符函数写字符函数fputc函数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件C语言程序设计案例教程第10章 文件 教学 课件 语言程序设计 案例 教程 10
限制150内