1 / 11
文档名称:

计算机计算机二级C语言 第十章 文 件.doc

格式:doc   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机计算机二级C语言 第十章 文 件.doc

上传人:企业资源 2012/1/31 文件大小:0 KB

下载得到文件列表

计算机计算机二级C语言 第十章 文 件.doc

文档介绍

文档介绍:第十章文件
【本章要求】
1、文本文件和二进制文件中数据读、写的特点。
2、文件打开函数fopen中函数文件操作方式的含义和用法。
3、文件读、写函数的含义和用法,尤其是函数中参数的含义
4、文件定位函数的用法。
C文件概述
所谓“文件”一般指存储在外部介质上的相关数据的有序集合。这个数据集有一个名称,叫做文件名。操作系统是以文件为单位对数据进行管理的,因此想要找存在外部介质上的数据,必须先按文件名找到所指定的文件,然后再从该文件中读取相关的数据。同样,要向外部介质上存储数据也必须先建立文件,再向该文件输出数据。
从用户使用的角度看,文件可分为普通文件和设备文件两种:
普通文件是指驻留在磁盘或其它外部介质上的一组有序的数据集。它包括程序文件和数据文件两种。对于源文件、目标文件、可执行程序可称作程序文件,对输入输出数据可称作数据文件。
设备文件是指与主机相联的各种外部设备,如显示器、打印机、键盘等。在操作系统中,把外部设备也看作是一个文件来进行管理,把它们的输入、输出等同于对磁盘文件的读和写。
从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种:
ASCII文件也称为文本文件,这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。
二进制文件是按二进制的编码方式来存放文件的。
在C语言中,把文件看作是一个字符(字节)的序列,可分为ASCII文件(即文本文件:它的每个字节存放一个ASCII代码,代表一个字符,占用存储空间多,便于输出字符)和二进制文件(把数据按其在内存中的存储形式原样输出到磁盘上存放,占用存储空间少,不能直接输出字符)。例如一个十进制数5678,其在ASCII文件和二进制文件的存储形式:
二进制形式
00010110
00101110 00111001
二进制文件
内存中的存储形式
00010110
00101110
ASCII形式
00110101
00110110
00110111
00111000
(5) (6) (7) (8)
一个C语言文件是一个字节流或二进制流,在C语言中对文件的存取是以字节为单位的。输入输出的数据流的开始和结束仅受程序控制,不受物理符号的控制。这种文件称为流式文件。
在C语言中有两种对文件的处理方法:
缓冲文件系统: 系统自动地在内存区为每个正在使用的文件开辟一个缓冲区。
非缓冲文件系统:系统不自动地在内存区为每个正在使用的文件开辟一个缓冲区,而由程序为每个文件设定缓冲区。
ANSI C标准采用缓冲文件系统处理文本文件和二进制文件。
在C语言中,没有输入输出语句,对文件的读写都是靠调用库函数来实现的。ANSI规定了标准的库函数,库函数为我们提供了方便的文件操作函数(文件的创建、打开、关闭、读出、写入、出错检查等)。

在C语言中,每个被使用中的文件都在内存中开辟一个区,用来存放其有关信息,并用一个指针变量指向一个文件,这个指针就称为文件指针。通过文件指针就可对它所指的文件进行各种操作。
定义说明文件指针的一般形式为:
FILE *指针变量标识符;
其中FILE应为大写,它实际上是由系统定义的一个结构体类型,该结构中含有文件名、文件状态和文件当前位置等信息。
typedef struct
{ short level; /*缓冲区“满”或“空”的程度*/
unsigned flags; /*文件状态标志*/
char fd; /*文件描述符*/
unsigned char hold; /*如无缓冲区不读取字符*/
short bsize; /*缓冲区的大小*/
unsigned char *buffer; /*数据缓冲区的位置*/
unsigned char *curp; /*指针,当前的指向*/
unsigned istemp; /*临时文件,指示器*/
short token; /*用于有效性检查*/
} FILE;
有了FILE类型之后,我们就可以用它来定义若干个FILE类型的变量,以便存放若干个文件的信息。例如,可以定义文件型指针变量:
FILE *fp;
表示fp是指向FILE结构的指针变量,通过fp即可找存放某个文件信息的结构变量,然后按结构变量提供的信息找到该文件,实施对文件的操作****惯上也把fp称为指向一个文件的指针。
当然也可定义文件型指针数组,如
FILE fp[10];
表示定义了一个结构体数组fp,它有5个元素,可以用来存放5个文件的信息。

在进行读写操作之前,要先打开文件,使用完文件后要关闭。所谓打开文件,就是建立文件的各种有关信息,并使