引入
在上节讲的缓冲文件系统中,最关键的概念就是文件类型指针,简称为:文件指针。我们知道,要让程序操作一个文件,都需要将其加载到内存中,但是加载到内存之前,需要现经过缓冲区。所以,每个文件被使用时,都在内存中开辟一个相应的文件信息区,用来存放文件的有关信息。
有关信息包括:文件名、文件状态及文件当前位置等信息
这些信息都是保存在一个结构体变量中的,该结构体类型由系统声明,取名为FILE。
存放文件信息的 FILE
在不同的 C 编译环境中 FILE 的内容可能不完全相同,我们来举个例子,FLIE 的结构体可能是这样的,它包含在stdio.h中:
typedef struct {
short level; // 缓冲区“满”或“空”的程度
unsigned flags; //文件状态标志
char fd; //文件描述符
unsigned char hold; //如缓冲区无内容不读取字符
short bsize; //缓冲区的大小
unsigned char * buffer; //数据缓冲区的位置
unsigned char* curp; //指针当前的指向
unsigned is temp; //临时文件指示器
short token; //用于有效性检查
}FILE;
