#文件编程#------文件类型指针

    xiaoxiao2021-03-25  111

    在C语言中当建立或调用一个磁盘文件时,必须了解如下信息:与该文件对应的内存缓冲区的地址,文件当前的读写位置,文件操作的方式,是文本文件还是二进制文件,是杜操作还是写操作.

    对于操作系统而言,关键的概念是”文件指针”.每个被使用的文件都在内存中开辟一段存储单元,用来存放文件的有关信息.这些信息是保存在一个结构体变量中的.该结构体类型变量是由系统定义的,取名为FILE.有几个文件就建立几个这样的结构体变量,分别存放各文件的有关信息.同时返回对应的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 f[5];

    定义了一个结构体数组f,5个元素,可以存放5个文件的信息.

    程序中可以设置一个指向该结构体变量的指针变量,通过它来访问FILE结构体变量,例如:

    FILE *fp;

    定义了一个FILE结构体类型的指针变量,当程序打开一个文件,就得到对应的FILE结构指针.只要把指针值赋给指针变量fp,fp就指向了这个FILE结构体的变量,也就是指向这个文件了.

    转载请注明原文地址: https://ju.6miu.com/read-13385.html

    最新回复(0)