文件指针
文件指针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库,不论在何中系统中都可以用,可移植性比较强;
作者水平有限,如有问题,请留言,谢谢!!!