在C语言中,用一个指针变量指向一个文件,这个指针称为文件指针。通过文件指针就可对它所指的文件进行各种操作。
定义文件指针的一般形式为:
FILE *fp;
这里的FILE,实际上是在stdio.h中定义的一个结构体,该结构体中含有文件名、文件状态和文件当前位置等信息。我们通过fopen返回一个文件指针(指向FILE结构体的指针)来进行文件操作。
注意:FILE是文件缓冲区的结构,fp也是指向文件缓冲区的指针。
不同编译器 stdio.h 头文件中对 FILE 的定义略有差异,这里以标准C举例说明:
-
-
- #define NULL 0
- #define EOF (-1)
- #define BUFSIZ 1024
- #define OPEN_MAX 20 // 一次打开的最大文件数
- // 定义FILE结构体
- typedef struct _iobuf {
- int cnt; // 剩余的字符,如果是输入缓冲区,那么就表示缓冲区中还有多少个字符未被读取
-