FILE 是C 语言中定义的一个结构类型,它定义在头文件stdio.h 中。当我们利用fopen 函数打开一个文件的时候,它返回的是一个FILE *指针变量。每个FILE *指针变量标识一个特定的磁盘文件(你也可以把指针理解为用来标识一个特定的流,参考5.1 节),FILE 结构内部的成员可以参考程序12-1。这里需要注意,用户绝对不应修改FILE *指针变量指向的结构类型内部的所有数据。
程序12-1 FILE 结构体细节
typedef struct
{
short level; /* 缓冲区‘满’或‘空’的程度*/
unsigned flags; /*文件状态标志*/
char fd; /*文件描述符*/
unsigned char hold; /*如无缓冲区不读字符*/
short bsize; /*缓冲区的大小*/
unsigned char *buffer;/*数据缓冲区的位置*/
unsigned char *curp; /*指针当前的指向*/
unsigned istemp; /*临时文件指示器*/
short token; /*用于有效性检查*/