文件指针指向进程用户区的一个叫做FILE结构体的东西,FILE结构体中有两个重要的内容分别是文件描述符和缓冲区;
1,文件描述符
一个进程打开或者创建一个新文件文件的时候返回该文件的文件描述符,当后读写文件时将文件描述符作为参数,文件描述符是一个非负的索引值,指向内核中每个进程文件的记录表,所有对设备和文件的操作都通过文件描述符来完成。files_struct结构体中fd字段指向一个叫做文件描述符表的数组,以叫做文件描述符数组,该数组的下标也就是文件描述符,文件描述符的分配规则是从0到n选取一个未被分配的索引值,当一个进程启动时会默认产生三个文件描述符。
stdin (0),stdout(1),stderr(2);分别对应宏STD_FILENO、