文件描述符。
–文件描述符是个很小的正整数,它是一个索引值,指向内核为每个进程所维护的该进程打开文件的记录表。
–例如:每个进程启动时都打开3个文件:
•标准输入文件(stdin)
•标准输出(stdout)
•标准出错(stderr)
–这三个文件分别对应文件描述符0、1、2
–实际上,你可能已经用过基于描述的I/O操作,但却没有意识到。
–编程中应该使用<unistd.h>中定义的STDIN_FILENO、 STDOUT_FILENO、 STDERR_FILENO代替数字0、1、2。
基于文件描述符的I/O操作兼容POSIX标准,所以移植性比较好。
许多Linux、Unix系统都依赖于文件描述符。
尤其是TCP/IP操作只能通过文件描述符执行输入输出。
在Linux上几乎每样东西都是一个文件。
这样大量资源,比如内存,磁盘空间,进程间通讯,声卡,鼠标都有了一个统一的编程接口。