辨析文件描述符和文件指针

xiaoxiao2021-02-28  82

文件指针

文件指针C语言中用一个指针变量指向一个文件,这个指针称为文件指针。

定义说明文件指针的一般形式为:FILE *指针变量名

文件指针的类型为FILE*类型的,FILE为C库中定义的一种结构体,包含文件的各种信息。

FILE结构体的定义:

typedef struct { short level; unsigned flags; char fd; unsigned char hold; short bsize; unsigned char *buffer; unsigned ar *curp; unsigned istemp; short token; }FILE; 文件描述符

在系统中唯一标识一个文件,为非负整数;是文件在文件描述符表中的下标。

操作系统中 对于文件的操作都是对于文件描述符的操作;

对于文件描述符的分配是:每次都分配当前未被使用的最小的文件描述符。

文件描述符和文件指针的联系:

文件指针的底层实现还是利用文件描述符来实现的;

文件描述符和文件指针的区别:

(1)文件描述符是唯一的;

         文件指针不唯一,,但是文件指针指向的对象是唯一的;

(2)文件描述符时LINUX/UNIX的系统调用,可移植性差;

         文件指针为C库提供的,只要有C库,不论在何中系统中都可以用,可移植性比较强;

作者水平有限,如有问题,请留言,谢谢!!!

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

最新回复(0)