1.什么是描述符集
内核(kernel)利用文件描述符(file descriptor)来访问文件。文件描述符是非负整数。打开现存文件或新建文件时,内核会返回一个文件描述符。读写文件也需要使用文件描述符来指定待读写的文件。而文件描述符集就是文件描述符的集合。
2.类UNIX系统描述符集的表示形式
一般用整数数组来表示,其中每个整数中的每一位对应一个描述符。比如数组元素是整数类型,则该数组的第一个元素对应于描述符0~31,第二元素对应于描述符32~63等。以fd_set数据类型来表示。
3.关于描述符集的操作
void FD_ZERO(fd_set *set); /*将set清零使集合中不含任何fd*/ void FD_SET(int fd,fd_set *fdset); /*将fd加入set集合*/ void FD_CLR(int fd,fd_set *fdset); /*将fd从set集合中清除*/ int FD_ISSET(int fd,fd_set *set); /*在调用select()函数后,用FD_ISSET来检测fd是否在set集合中,当检测到fd在set中则返回真,否则,返回假(0)*/