在文件 IO 中使用文件描述符fd来表示一个文件不同,而标准 IO 使用一个指向 FILE 对象的指针来代表一个文件。FILE 对象实际上是一个结构体,此结构体中封装了代表文件的文件描述符。当然不仅仅是含有文件描述符,其中还会记录属于该文件的用户缓冲区信息。
在文件 IO 详解笔记中提到过标准输入、标准输出和标准错误,分别对应文件描述符的0、1、2,也可以使用STDIN_FILENO、STDOUT_FILENO和STDERR_FILENO三个宏来代替。这三个文件描述符是创建进程时默认会打开的。
对应着文件 IO 中0、1、2文件描述符,在标准文件 IO 中也会有对应的标准输入流、标准输出流和标准错误流,分别使用stdin、stdout和stderr来代表。同样这三个文件流指针也是在创建进程时会默认打开的。
时间: 2024-12-21 20:42:19