LINUX 【文件指针FILE*和文件描述符fb的区别】

来源:互联网 发布:如何建立网络 编辑:程序博客网 时间:2024/06/05 21:10

关于文件描述符fb和文件指针FILE*的区别

文件描述符fb:

每个进程都有非负的整形表示唯一的进程ID

文件的三个默认流,标准输入流,标准输出流,标准错误流

stdin->0   stdout->1   stderr->2

三个流的标识符为0,1,2

所以后面的文件标识符从3开始,依次递增。



文件指针FILE*:

FILE*它是一个结构体指针,其中包含fopen(),fclose()等一系列函数;

FILE *fp: 表示fp是一个指向FILE结构体的指针,通过fp可以读写该文件,或者操作文件,习惯的称为fp为文件指针。 

文件描述符fb和文件指针FILE*区别:

FILE*中包含文件描述符fb,使用fopen、fclose、fread、fwirte对文件进行操作时,在lib层.;

文件描述符在系统调用层,系统调用的接口为write/read、close/open 它们的返回值为fd。