1.文件描述符,文件描述符通常是一个小的非负整数,内核用来标识一个文件。
2.每当运行一个程序,shell会打开三个文件描述符:标准输入,标准输出,标准错误。一般情况下这三个文件描述符都链接指向终端,用户也可以重定向到某个文件。
3.头文件<unistd.h>提供了open,read,write,lseek,close这些不带缓冲的io,这些函数都使用文件描述符,例如:
#define BUFLEN 1024
char buf[BUFLEN];
int n = read(STDIN_FILENO, buf, BUFLEN);// STDIN_FILENO定义在unistd.h中,指向标准输入的文件描述符,还有STDOUT_FILENO指向标准输出的文件描述符。
原文:https://www.cnblogs.com/jzy-lj/p/14753122.html