原型是:
int select (int nfds,
fd_set *read-fds,
fd_set *write-fds,
fd_set *except-fds,
struct timeval *timeout);
很长一段时间以来,我一直在努力理解这个功能。我的问题是,如果它检查从 0 到 nfds-1 的所有文件描述符,并在返回时修改 read-fds、write-fds 和 except-fds,为什么我需要使用 FD_SET 将文件描述符添加到集合一开始,它会检查所有文件描述符,还是不检查?