C语言程序设计第11章-文件.ppt
《C语言程序设计第11章-文件.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计第11章-文件.ppt(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计主编:连卫民 何 樱第11章 文件本章主要内容:本章主要内容:11.1 11.1 文件概述文件概述文件概述文件概述11.2 11.2 文件处理(重点)文件处理(重点)文件处理(重点)文件处理(重点)11.3 11.3 文件程序设计举例(重点)文件程序设计举例(重点)文件程序设计举例(重点)文件程序设计举例(重点)本章教学要求:本章教学要求:1.了解了解了解了解文件的定义及分类文件的定义及分类文件的定义及分类文件的定义及分类 2.熟悉熟悉熟悉熟悉文件的处理流程文件的处理流程文件的处理流程文件的处理流程 3.掌握掌握掌握掌握常用的文件处理函数的使用方法及其程序设计常用的文件处理函数的
2、使用方法及其程序设计常用的文件处理函数的使用方法及其程序设计常用的文件处理函数的使用方法及其程序设计方法方法方法方法 11.1 文件的基本概念文件的基本概念 本节主要介绍文件的定义及分类、缓冲文件系统、文件的处理本节主要介绍文件的定义及分类、缓冲文件系统、文件的处理本节主要介绍文件的定义及分类、缓冲文件系统、文件的处理本节主要介绍文件的定义及分类、缓冲文件系统、文件的处理过程、文件程序解决的问题。过程、文件程序解决的问题。过程、文件程序解决的问题。过程、文件程序解决的问题。11.1.1 11.1.1 文件的定义与分类文件的定义与分类文件的定义与分类文件的定义与分类 所谓所谓所谓所谓“文件文件文
3、件文件”是指存储在外部介质上的数据集合。是指存储在外部介质上的数据集合。是指存储在外部介质上的数据集合。是指存储在外部介质上的数据集合。1 1按文件内容划分按文件内容划分按文件内容划分按文件内容划分 从存储内容上看,文件分为两大类:从存储内容上看,文件分为两大类:从存储内容上看,文件分为两大类:从存储内容上看,文件分为两大类:程序文件和数据文件程序文件和数据文件程序文件和数据文件程序文件和数据文件。程。程。程。程序文件中存储的是程序代码或计算机指令;数据文件中只包含序文件中存储的是程序代码或计算机指令;数据文件中只包含序文件中存储的是程序代码或计算机指令;数据文件中只包含序文件中存储的是程序代
4、码或计算机指令;数据文件中只包含程序文件处理的数据,通常用来保存大量数据。程序文件处理的数据,通常用来保存大量数据。程序文件处理的数据,通常用来保存大量数据。程序文件处理的数据,通常用来保存大量数据。2 2按存储方式划分按存储方式划分按存储方式划分按存储方式划分 从从从从存存存存储储储储方方方方式式式式上上上上看看看看,文文文文件件件件可可可可分分分分为为为为文文文文本本本本文文文文件件件件和和和和二二二二进进进进制制制制文文文文件件件件。文文文文本本本本文文文文件件件件以以以以字字字字符符符符形形形形式式式式存存存存储储储储数数数数据据据据(即即即即存存存存放放放放其其其其ASCIIASCI
5、I码码码码),又又又又称称称称为为为为ASCIIASCII文文文文件件件件;二二二二进进进进制制制制文文文文件件件件是是是是按按按按数数数数据据据据在在在在计计计计算算算算机机机机内内内内的的的的存存存存储储储储形形形形式式式式(二二二二进进进进制制制制代代代代码码码码)存放数据的。存放数据的。存放数据的。存放数据的。第11章 文件11.1 文件的基本概念文件的基本概念11.1.1 11.1.1 文件的定义与分类文件的定义与分类文件的定义与分类文件的定义与分类3 3按存储介质划分按存储介质划分按存储介质划分按存储介质划分 从存储介质上看,文件可分为磁盘文件、磁带文件、光盘文件从存储介质上看,文
6、件可分为磁盘文件、磁带文件、光盘文件从存储介质上看,文件可分为磁盘文件、磁带文件、光盘文件从存储介质上看,文件可分为磁盘文件、磁带文件、光盘文件以及打印文件等。以及打印文件等。以及打印文件等。以及打印文件等。4 4按读写方式划分按读写方式划分按读写方式划分按读写方式划分 文文文文件件件件的的的的读读读读写写写写方方方方式式式式可可可可分分分分为为为为顺顺顺顺序序序序读读读读写写写写方方方方式式式式和和和和随随随随机机机机读读读读写写写写方方方方式式式式。顺顺顺顺序序序序读读读读写写写写是是是是指指指指从从从从文文文文件件件件头头头头开开开开始始始始,依依依依次次次次读读读读/写写写写文文文文件
7、件件件的的的的内内内内容容容容;随随随随机机机机读读读读写写写写是是是是指指指指根根根根据需要从任意位置进行读据需要从任意位置进行读据需要从任意位置进行读据需要从任意位置进行读/写文件的内容。写文件的内容。写文件的内容。写文件的内容。第11章 文件11.1 文件的基本概念文件的基本概念11.1.2 文件程序解决的问题文件程序解决的问题文件的特点:文件的特点:文件的特点:文件的特点:存取方便容易,外存容量大。存取方便容易,外存容量大。存取方便容易,外存容量大。存取方便容易,外存容量大。数据可以重用。数据可以重用。数据可以重用。数据可以重用。数据共享几乎无限制。数据共享几乎无限制。数据共享几乎无限
8、制。数据共享几乎无限制。第11章 文件11.2 文件处理文件处理11.2.1 11.2.1 缓冲文件系统缓冲文件系统缓冲文件系统缓冲文件系统 缓冲文件系统缓冲文件系统缓冲文件系统缓冲文件系统是指系统自动对每个正在使用的文件在内存中开是指系统自动对每个正在使用的文件在内存中开是指系统自动对每个正在使用的文件在内存中开是指系统自动对每个正在使用的文件在内存中开辟一个辟一个辟一个辟一个“缓冲区缓冲区缓冲区缓冲区”,当从磁盘文件输入的数据时,先将文件中,当从磁盘文件输入的数据时,先将文件中,当从磁盘文件输入的数据时,先将文件中,当从磁盘文件输入的数据时,先将文件中的数据送到的数据送到的数据送到的数据送
9、到“输入缓冲区输入缓冲区输入缓冲区输入缓冲区”中,然后再从中,然后再从中,然后再从中,然后再从“输入缓冲区输入缓冲区输入缓冲区输入缓冲区”依次依次依次依次将数据送给接收变量;在向磁盘文件输出数据时,先将输出数将数据送给接收变量;在向磁盘文件输出数据时,先将输出数将数据送给接收变量;在向磁盘文件输出数据时,先将输出数将数据送给接收变量;在向磁盘文件输出数据时,先将输出数据送到据送到据送到据送到“输出缓冲区输出缓冲区输出缓冲区输出缓冲区”中,等装满缓冲区后才一起输出给磁盘中,等装满缓冲区后才一起输出给磁盘中,等装满缓冲区后才一起输出给磁盘中,等装满缓冲区后才一起输出给磁盘文件,文件,文件,文件,如
10、图如图如图如图11-111-1所示所示所示所示。缓冲文件系统既可以处理文本文件,也可以处理二进制文件。缓冲文件系统既可以处理文本文件,也可以处理二进制文件。缓冲文件系统既可以处理文本文件,也可以处理二进制文件。缓冲文件系统既可以处理文本文件,也可以处理二进制文件。缓冲文件系统为每个正在使用的文件开辟一个缓冲文件系统为每个正在使用的文件开辟一个缓冲文件系统为每个正在使用的文件开辟一个缓冲文件系统为每个正在使用的文件开辟一个“文件信息区文件信息区文件信息区文件信息区”,用来存放文件的有关信息。,用来存放文件的有关信息。,用来存放文件的有关信息。,用来存放文件的有关信息。“文件信息区文件信息区文件信
11、息区文件信息区”的这些信息保存的这些信息保存的这些信息保存的这些信息保存在一个结构体类型的变量中,该结构体类型命名为在一个结构体类型的变量中,该结构体类型命名为在一个结构体类型的变量中,该结构体类型命名为在一个结构体类型的变量中,该结构体类型命名为FILEFILE,其定,其定,其定,其定义形式如下:义形式如下:义形式如下:义形式如下:typedef struct .FILE;typedef struct .FILE;第11章 文件11.2 文件处理文件处理11.1.2 11.1.2 缓冲文件系统缓冲文件系统缓冲文件系统缓冲文件系统 当当当当程程程程序序序序中中中中用用用用到到到到某某某某个个个
12、个文文文文件件件件,系系系系统统统统就就就就为为为为此此此此文文文文件件件件开开开开辟辟辟辟一一一一个个个个FILEFILE类类类类型型型型的的的的变变变变量量量量存存存存储储储储空空空空间间间间。但但但但是是是是,这这这这个个个个存存存存储储储储空空空空间间间间通通通通常常常常不不不不用用用用变变变变量量量量名名名名来来来来标标标标识识识识,而而而而是是是是设设设设置置置置一一一一个个个个指指指指向向向向该该该该结结结结构构构构体体体体变变变变量量量量的的的的指指指指针针针针变变变变量量量量,通通通通过过过过它它它它来来来来访访访访问问问问该该该该结构体变量(信息区)。这个指针变量就是文件指
13、针。结构体变量(信息区)。这个指针变量就是文件指针。结构体变量(信息区)。这个指针变量就是文件指针。结构体变量(信息区)。这个指针变量就是文件指针。例如例如例如例如:FILE*fp1,*fp2,*fp3;FILE*fp1,*fp2,*fp3;这样就定义了三个指针变量这样就定义了三个指针变量这样就定义了三个指针变量这样就定义了三个指针变量fp1fp1、fp2fp2、fp3fp3,它们都是指向,它们都是指向,它们都是指向,它们都是指向FILEFILE类型结构体数据的指针变量。类型结构体数据的指针变量。类型结构体数据的指针变量。类型结构体数据的指针变量。如果把某一个文件信息区的起始地址赋给如果把某一
14、个文件信息区的起始地址赋给如果把某一个文件信息区的起始地址赋给如果把某一个文件信息区的起始地址赋给fp1fp1(或(或(或(或fp2fp2、fp3fp3),),),),fp1fp1就指向该信息区(就指向该信息区(就指向该信息区(就指向该信息区(如图如图如图如图11-211-2所示所示所示所示)。)。)。)。通过通过通过通过fp1fp1、fp2fp2、fp3fp3就可以访问相应文件的信息区,从而达到操就可以访问相应文件的信息区,从而达到操就可以访问相应文件的信息区,从而达到操就可以访问相应文件的信息区,从而达到操作有关文件的目的。作有关文件的目的。作有关文件的目的。作有关文件的目的。第11章 文
15、件11.2 文件处理文件处理11.2.2 11.2.2 文件的处理过程文件的处理过程文件的处理过程文件的处理过程 文件在使用前要打开,使用后要关闭。文件在使用前要打开,使用后要关闭。文件在使用前要打开,使用后要关闭。文件在使用前要打开,使用后要关闭。打开文件的过程就是使文件指针指向外存中某一文件的过程,通过文件打开文件的过程就是使文件指针指向外存中某一文件的过程,通过文件打开文件的过程就是使文件指针指向外存中某一文件的过程,通过文件打开文件的过程就是使文件指针指向外存中某一文件的过程,通过文件指针实现对文件的读指针实现对文件的读指针实现对文件的读指针实现对文件的读/写操作。写操作。写操作。写操
16、作。关闭文件的过程就是切断文件指针与外存中某一文件联系的过程,文件关闭文件的过程就是切断文件指针与外存中某一文件联系的过程,文件关闭文件的过程就是切断文件指针与外存中某一文件联系的过程,文件关闭文件的过程就是切断文件指针与外存中某一文件联系的过程,文件操作结束。操作结束。操作结束。操作结束。文件的处理过程文件的处理过程文件的处理过程文件的处理过程如图如图如图如图11-311-3所示所示所示所示。文件的处理步骤文件的处理步骤文件的处理步骤文件的处理步骤为:为:为:为:(1 1)打开文件:使用函数)打开文件:使用函数)打开文件:使用函数)打开文件:使用函数fopen()fopen()。(2 2)读
17、或写文件:)读或写文件:)读或写文件:)读或写文件:读函数:读函数:读函数:读函数:fgetc()fgetc()、fgets()fgets()、fscanffscanf、()fread()()fread()、getw()getw()。写函数:写函数:写函数:写函数:fputc()fputc()、fouts()fouts()、fprintf()fprintf()、fwrite()fwrite()、putw()putw()。(3 3)关闭文件:使用函数)关闭文件:使用函数)关闭文件:使用函数)关闭文件:使用函数fclose()fclose()。第11章 文件11.2 文件处理文件处理11.2.2
18、11.2.2 文件的处理过程文件的处理过程文件的处理过程文件的处理过程数据的数据的处理形式处理形式有:有:(1)直接处理形式。键盘)直接处理形式。键盘内存变量内存变量显示器。把数据从键盘录入后进行处理,显示器。把数据从键盘录入后进行处理,处理结果送显示器显示。适用数据量小,数据不需要保存的情况。处理结果送显示器显示。适用数据量小,数据不需要保存的情况。(2)写文件处理形式。键盘)写文件处理形式。键盘内存变量内存变量文件指针文件指针OS外存(文件)。这样外存(文件)。这样可以把大量的或以后再用的数据保存下来。可以把大量的或以后再用的数据保存下来。(3)读文件处理形式。文件名)读文件处理形式。文件
19、名OS文件指针文件指针内存变量内存变量显示器。这样可以显示器。这样可以把存放在文件中的数据通过文件指针调入内存,处理后,输出到显示器上。把存放在文件中的数据通过文件指针调入内存,处理后,输出到显示器上。(4)修改文件处理形式。文件名)修改文件处理形式。文件名OS文件指针文件指针内存变量内存变量文件指针文件指针OS文件名(或设备名)。这样可以把存放在文件中的数据调入内存,处理后,再写文件名(或设备名)。这样可以把存放在文件中的数据调入内存,处理后,再写入文件中。入文件中。文件的处理步骤文件的处理步骤:(1)打开文件)打开文件(2)读或写文件)读或写文件(3)关闭文件)关闭文件第11章 文件11.
20、2 文件处理文件处理11.2.3 11.2.3 文件处理采用的函数文件处理采用的函数文件处理采用的函数文件处理采用的函数1文件打开函数文件打开函数文件在使用之前必须先打开。所谓文件在使用之前必须先打开。所谓“打开打开”是在程序和操作系统之间建立是在程序和操作系统之间建立起联系,程序把所要操作文件的一些信息通知给操作系统。起联系,程序把所要操作文件的一些信息通知给操作系统。文件打开用文件打开用fopen函数实现。它的函数实现。它的一般使用方法一般使用方法为:为:FILE*fp;fp=fopen(filename,mode);第11章 文件11.2 文件处理文件处理11.2.3 11.2.3 文件
21、处理采用的函数文件处理采用的函数文件处理采用的函数文件处理采用的函数2.文件读取函数文件读取函数读文件就是从文件往内存中读取数据。根据存储数据的形式不同可以采用读文件就是从文件往内存中读取数据。根据存储数据的形式不同可以采用以下读取函数来实现文件的读取。以下读取函数来实现文件的读取。(1)fgetc函数函数使用格式:使用格式:ch=fgetc(fp);该函数从该函数从fp指向的文件中读取一个字符并将它保存在变量指向的文件中读取一个字符并将它保存在变量ch中。中。其中,其中,fp是已定义的文件指针变量。如果读到文件末尾或出错时,该函是已定义的文件指针变量。如果读到文件末尾或出错时,该函数返回文件
22、结束标志数返回文件结束标志EOF。EOF是在是在stdio.h头文件中定义的宏,其值为头文件中定义的宏,其值为-1。第11章 文件11.2 文件处理文件处理11.2.3 11.2.3 文件处理采用的函数文件处理采用的函数文件处理采用的函数文件处理采用的函数2.文件读取函数文件读取函数读文件就是从文件往内存中读取数据。根据存储数据的形式不同可以采用读文件就是从文件往内存中读取数据。根据存储数据的形式不同可以采用以下读取函数来实现文件的读取。以下读取函数来实现文件的读取。(2)fgets函数函数使用格式:使用格式:fgets(str,n,fp);该函数从该函数从fp指向的文件中读取指向的文件中读取
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 11 文件
限制150内