fd_set set; FD_ZERO(&set); /* 將set清零 */ FD_SET(fd, &set); /* 將fd加入set */ FD_CLR(fd, &set); /* 將fd從set中清除 */ FD_ISSET(fd, &set); /* 如果fd在set中則真 */
在過去,一個fd_set通常只能包含少於等於32個文件描述符,因爲fd_set其實只用了一個int的比特矢量來實現,在大多數情況下,檢查fd_set能包括任意值的文件描述符是系統的責任,但確定你的fd_set到底能放多少有時你應該檢查/修改宏FD_SETSIZE的值。*這個值是系統相關的*,同時檢查你的系統中的select() 的man手冊。有一些系統對多於1024個文件描述符的支持有問題。[