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

来源:互联网 发布:unity3d内景 编辑:程序博客网 时间:2024/06/06 04:27

文件指针

文件指针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库,不论在何中系统中都可以用,可移植性比较强;


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

0 0
原创粉丝点击