第9章文件程序设计.ppt
- 文档编号:2121955
- 上传时间:2022-10-27
- 格式:PPT
- 页数:42
- 大小:1.02MB
第9章文件程序设计.ppt
《第9章文件程序设计.ppt》由会员分享,可在线阅读,更多相关《第9章文件程序设计.ppt(42页珍藏版)》请在冰豆网上搜索。
CC语言程序设计语言程序设计第第99章章文件程序设计文件程序设计第第99章章文件程序设计文件程序设计u9.1文件概述u9.2文件的基本操作u9.3文件的数据块读写操作u9.4文件的其他操作u9.5文件应用举例9.19.1文件概述文件概述文件概述文件概述从上机实现第一个C语言程序开始,“文件”即与学习C语言程序设计密不可分,实现任何一个C语言程序,都会涉及到多种类型的文件,例如,编辑阶段建立的源程序文件、编译阶段生成的目标代码文件、连接阶段构建的可执行文件等。
因此,“文件”并不是一个新概念。
但是,C语言中的“文件”有其自身的特点,本节就C语言中关于“文件”的概念、分类、文件操作的基本过程等作概要介绍。
l重点内容文件的操作过程文件指针9.19.1文件概述文件概述文件概述文件概述ll9.1.19.1.1文件的概念文件的概念ll9.1.29.1.2文件的分类文件的分类ll9.1.39.1.3文件的一般操作过程文件的一般操作过程ll9.1.49.1.4文件的指针文件的指针9.1.19.1.1文件的概念文件的概念文件的概念文件的概念ll文文文文件件件件是是是是计计算算机机中中的的一一个个重重要要概概念念,通通常常是是指指存存存存储储储储在外部介质上的信息的集合在外部介质上的信息的集合在外部介质上的信息的集合在外部介质上的信息的集合。
ll在在CC语语言言中中,所所有有的的外外部部设设备备均均被被作作为为文文件件对对待待,这种文件称为设备文件。
这种文件称为设备文件。
ll计计算算机机对对文文件件的的操操作作总总体体上上分分成成输输入入和和输输出出两两大大类类,文文件件的的输输人人输输出出(I/0I/0)过过程程通通过过操操作作系系统统进进行管理。
行管理。
llCC语语言言程程序序对对文文件件的的处处理理通通过过标标准准函函数数库库中中的的文文件操作函数实现。
件操作函数实现。
9.1.19.1.1文件的概念文件的概念文件的概念文件的概念lC语言使用缓缓缓缓冲冲冲冲文文文文件件件件系系系系统统统统在程序和数据外部文件之间交换数据。
l程序中的数据(如存储在数组、简单变量、结构体变量中的数据等)在写入磁盘文件之前,首先在“输输输输出出出出文文文文件件件件缓缓缓缓冲冲冲冲区区区区”暂存,当该缓冲区数据存满后,再输出到文件中。
这一过程称为“写文件写文件写文件写文件”,是数据输出过程。
l“写文件”的逆向操作是将文件中的数据装入内存,作为程序处理数据。
这一过程称为“读读读读文文文文件件件件”,是数据输入过程。
当从文件向内存输入数据时,首先把读入的数据输送到“输入文件缓冲区输入文件缓冲区输入文件缓冲区输入文件缓冲区”,然后再传送给程序。
9.1.19.1.1文件的概念文件的概念文件的概念文件的概念使用缓冲区的文件读、写示意图使用缓冲区的文件读、写示意图9.1.29.1.2文件的分类文件的分类文件的分类文件的分类以以ASCIIASCII码字符形式存储的文件称为文本文件,又叫码字符形式存储的文件称为文本文件,又叫ASCIIASCII文件。
文件。
例如用高级程序语言编写的程序文件是文本文件,用例如用高级程序语言编写的程序文件是文本文件,用Windows“Windows“记事记事本本”程序创建的文件也是文本文件。
文本文件是一种字符流文件,文程序创建的文件也是文本文件。
文本文件是一种字符流文件,文本文件的一个字符就是一个字节,因而方便了字符的处理,不过文本本文件的一个字符就是一个字节,因而方便了字符的处理,不过文本文件一般要占用较大的存储空间。
文件一般要占用较大的存储空间。
二进制文件存储二进制数据,按照数据在内存中的字节流存储。
二进制文件存储二进制数据,按照数据在内存中的字节流存储。
例如例如CC程序的目标文件(扩展名为程序的目标文件(扩展名为objobj)和可执行文件(扩展名为)和可执行文件(扩展名为exeexe)都是二进制文件。
在二进制文件中,字节信息与实际的数据位)都是二进制文件。
在二进制文件中,字节信息与实际的数据位并不一一对应,因此,若直接显示二进制文件内容时,用户看到的是并不一一对应,因此,若直接显示二进制文件内容时,用户看到的是一些不能识别的字符。
一些不能识别的字符。
nn文本文件文本文件文本文件文本文件nn二进制文件二进制文件二进制文件二进制文件9.1.39.1.3文件的一般操作过程文件的一般操作过程文件的一般操作过程文件的一般操作过程ll使用文件的一般步骤使用文件的一般步骤打开文件打开文件操作文件操作文件关闭文件关闭文件uu打开文件:
建立用户程序与文件的联系,系统为文件开辟文件缓冲打开文件:
建立用户程序与文件的联系,系统为文件开辟文件缓冲区。
区。
uu操作文件:
是指对文件的读、写、追加和定位操作。
操作文件:
是指对文件的读、写、追加和定位操作。
读操作:
从文件中读出数据,即将文件中的数据输入到计算读操作:
从文件中读出数据,即将文件中的数据输入到计算机内存。
机内存。
写操作:
向文件中写入数据,即将计算机内存中的数据输出写操作:
向文件中写入数据,即将计算机内存中的数据输出到文件。
到文件。
追加操作:
将新的数据写到文件原有数据的后面。
追加操作:
将新的数据写到文件原有数据的后面。
定位操作:
移动文件读写位置指针。
定位操作:
移动文件读写位置指针。
uu关闭文件:
切断文件与程序的联系,将文件缓冲区的内容写入磁盘,关闭文件:
切断文件与程序的联系,将文件缓冲区的内容写入磁盘,并释放文件缓冲区。
并释放文件缓冲区。
9.1.49.1.4文件的指针文件的指针文件的指针文件的指针ll文件型指针变量的定义文件型指针变量的定义FILE*FILE*变量名变量名;例如:
例如:
FILE*p;FILE*p;ll注意:
注意:
由于文件类型由于文件类型FILEFILE在头文件在头文件stdio.hstdio.h中定义,所以在使用中定义,所以在使用FILEFILE类型前必须先打开类型前必须先打开stdio.hstdio.h文件。
文件。
如果需要对某一个文件进行读写操作,必须首先要指定指向如果需要对某一个文件进行读写操作,必须首先要指定指向它的文件指针。
只有通过文件指针,才能调用相应的文件。
它的文件指针。
只有通过文件指针,才能调用相应的文件。
当程序需要同时处理多个文件时,则需要说明多个当程序需要同时处理多个文件时,则需要说明多个FILEFILE型的型的指针变量,使它们分别指向多个不同的文件。
指针变量,使它们分别指向多个不同的文件。
9.29.2文件的基本操作文件的基本操作文件的基本操作文件的基本操作ll9.2.19.2.1打开和关闭文件打开和关闭文件ll9.2.29.2.2最基本的文件读写函数最基本的文件读写函数9.2.19.2.1打开和关闭文件打开和关闭文件打开和关闭文件打开和关闭文件打开文件操作是使用文件的第一个步骤,而关闭文件操作则是使用文件的最打开文件操作是使用文件的第一个步骤,而关闭文件操作则是使用文件的最后一个步骤。
后一个步骤。
CC语言系统分别使用语言系统分别使用fopen()fopen()函数和函数和fclose()fclose()函数实现文件的打开函数实现文件的打开和关闭操作。
和关闭操作。
11文件打开函数文件打开函数fopen()fopen()fopen()fopen()函数用来实现打开文件,它解决如下函数用来实现打开文件,它解决如下33个问题:
个问题:
指定要打开的文件名;指定要打开的文件名;指定文件的使用方式,如是读文件还是写文件等;指定文件的使用方式,如是读文件还是写文件等;为打开的文件指定一个指针变量,以便使用这个指针变量对文件进行访问。
为打开的文件指定一个指针变量,以便使用这个指针变量对文件进行访问。
llfopen()fopen()函数的调用方式函数的调用方式FILE*fp;FILE*fp;fp=fopen(fp=fopen(文件名文件名,使用文件的方式使用文件的方式););例如例如:
fp=(example.txt,r);fp=(example.txt,r);表示要打开的文件名为表示要打开的文件名为example.txtexample.txt,使用文件的方式是,使用文件的方式是“r”r”方式,文件指方式,文件指针是针是fpfp。
9.2.19.2.1打开和关闭文件打开和关闭文件打开和关闭文件打开和关闭文件ll文件使用方式文件使用方式文件使用方式作用r以“只读”方式打开一个文本文件w以“只写”方式打开一个文本文件a向文本文件尾增加数据rb以“只读”方式打开一个二进制文件wb以“只写”方式打开一个二进制文件ab向二进制文件尾增加数据r+以“读/写”方式打开一个文本文件w+以“读/写”方式建立一个新的文本文件a+以“读/写/追加”方式打开一个文本文件rb+以“读/写”方式打开一个二进制文件wb+以“读/写”方式建立一个新的二进制文件ab+以“读/写/追加”方式打开一个二进制文件9.2.19.2.1打开和关闭文件打开和关闭文件打开和关闭文件打开和关闭文件22关闭文件函数关闭文件函数fclose()fclose()llfclose()fclose()函数的一般格式函数的一般格式fclose(fclose(文件指针文件指针););ll功能功能关闭关闭“文件指针文件指针”所指向的文件,释放打开文件时使用的所指向的文件,释放打开文件时使用的结构体变量,断开文件指针与文件的联系。
结构体变量,断开文件指针与文件的联系。
例如:
例如:
fclose(fp);fclose(fp);9.2.29.2.2最基本的文件读写函数最基本的文件读写函数最基本的文件读写函数最基本的文件读写函数11fputc()fputc()函数函数ll一般形式一般形式fputc(ch,fp);fputc(ch,fp);ll功能功能将字符(将字符(chch的值)输出到的值)输出到fpfp所指向的文件中。
所指向的文件中。
9.2.29.2.2最基本的文件读写函数最基本的文件读写函数最基本的文件读写函数最基本的文件读写函数例例9-19-1使用使用fputc()fputc()函数在屏幕显示一个字符串。
函数在屏幕显示一个字符串。
/*programe9-1.c*/*programe9-1.c*/#include#includeintmain()intmain()char*p=Thisisaexample.;char*p=Thisisaexample.;while(*p!
=0)while(*p!
=0)fputc(*p+,fputc(*p+,stdoutstdout););return0return0;设备文件设备文件设备文件设备文件9.2.29.2.2最基本的文件读写函数最基本的文件读写函数最基本的文件读写函数最基本的文件读写函数例例9-29-2把从键盘输入的一个字符串写入到磁盘文件把从键盘输入的一个字符串写入到磁盘文件example.txtexample.txt中。
中。
/*programe9-2.c*/*programe9-2.c*/#include#includeintmain()intmain()charch;charch;FILE*fp;FILE*fp;fp=fopen(example.txt,w);fp=fopen(example.txt,w);printf(Enterastring:
);printf(Enterastring:
);while(ch=getchar()!
=n)while(ch=getchar()!
=n)fputc(ch,fp);fputc(ch,fp);fclose(fp);fclose(fp);return0;return0;9.2.29.2.2最基本的文件读写函数最基本的文件读写函数最基本的文件读写函数最基本的文件读写函数22fgetc()fgetc()函数函数从指定文件读入一个字符,该文件必须是以读或读写方式打开的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文件 程序设计