C语言基础教程 10.1.1 文件和文件指针
1.文件
一般说来,文件是有序数据的集合。程序文件是程序代码的有序集合,数据文件是一组数据的有序集合。文件是被存放在外部存储设备中的信息。对文件的处理过程就是面向文件的输入和输出过程。文件的输入过程是从文件中读出信息,文件的输出过程是往文件中写入信息,文件的输入的过程使用读函数,
实现文件输出的过程使用写函数。文件的读写函数是实现文件操作的主要函数,本章将用大量篇幅来讲述文件的读写函数。
一个字符流(文本文件),或看成是一个二进制流(二进制文件).文件的存取是以字符(字节)为单位的,读写数据流的开始和结束受程序控制。任何一个文件都是以EOF结束,最简单的文件是只有结束符的空文件。
C语言文件包含有设备文件和磁盘文件,例如,键盘是一种输入信息的文件,显示器屏幕和打印机是输出信息的文件它们都属于设备文件。将内存的信息放到磁盘上保存,需要时再从磁盘上装入内存,这就要使用磁盘文件,磁盘文件是计算机中常用的文件n
C语言文件按存放设备分设备文件和磁盘文件;按数据的组织形式分为文本文件(ASCII码文件)和二进制文件。文本文件是按一个字节存放一个字符的ASCII码来存放的;二进制文件是按数据在内存中的存储形式放到磁盘上的。例如,有一个整数10000,在内存中按二进制形式存放,占2个字节,将它放在磁盘上如按文本文件形式存放,占5个字节,每个数位占一个字节。两种存放方式各有利弊。以文本文件形式输出便于对字符进行处理,也便于输出字符,但是占用存储空间较多,并且要花费转换时间。以二进制文件形式输出可节省存储空间和转换时间,但是不能直接输出字符形式。 2.文件指针
文件指针是一种用来指向某个文件的指针。如果说某个文件指针指向某个文件,则是该文件指针指向某个文件存放在内存中的缓冲区的首地址。
每一个被使用的文件都要在内存中开辟一个区域,用来存放的有关信息,包括文件名字、文件状态和文件当前位置等。这些信息被保存在一个结构变量中,该结构变量所对应结构模式被系统定义为F ILE,它被放在,stdio h文件中。有些版式的FILE被定义如下: type struct {
int fd; /*文件号*/
int cleft /*缓冲区内剩余的字符*、 int mode; /文件操作模式*/ char * mexic; /*下一个字符位置*/