位置:首页 > 软件操作教程 > 编程开发 > C语言 > 问题详情

C语言 文件指针

提问人:刘团圆发布时间:2020-12-02

    C语言中读写每一个文件时,必须了解如下信息:文件在磁盘中的存储位置、文件的类型(二进制文件或文本文件)、对文件进行何种操作(读或写)、对文件以怎样的方式读写(读一个字符、或读一串字符等)以及该文件调入到内存缓冲区的地址。标准文件系统为每一个文件定义一个结构体变量,命名为FILE,该结构体变量中包含了要读写文件的基本信息。FILE结构体类型一般定义在stdio.h头文件 中。具体定义如下:

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;

    这就定义了一个FILE型的指针,指针名为fp。但要注意,此时指针fp没有指向任何地址,需要用文件打开操作,将一个文件的地址赋给fp指针。

继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部