我不明白下面这句话。sockfd1和sockfd2是套接字。

max = (sockfd1 < sockfd2 ? sockfd2 : sockfd1);

我用这一行选择:
//Initialisation du fd_set
FD_ZERO(&readfds);
FD_SET(sockfd1, &readfds);
FD_SET(sockfd2, &readfds);
max = (sockfd1 < sockfd2 ? sockfd2 : sockfd1);

//Le select()
select(max+1, &readfds, NULL, NULL, NULL);

谢谢你的帮助:)

最佳答案

三元运算符?:计算其第一个参数,如果为真,则返回第二个参数,否则返回第三个参数。因此,如果sockfd1 < sockfd2,则结果为sockfd2,否则为sockfd1——换句话说,max接收数值较大的套接字文件描述符。

关于c - “最大”行是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27430883/

10-11 21:09