select函数返回值
时间: 2023-12-15 18:31:47 浏览: 111
有返回值的函数
select函数是一个I/O多路复用函数,它可以同时监听多个文件描述符的可读、可写和异常等事件。select函数的返回值是就绪文件描述符的数量,如果返回0表示超时,如果返回-1表示出错。在出错的情况下,可以通过errno变量获取错误码。以下是一个select函数的例子:
```c
#include <stdio.h>
#include <stdlib.h>
#include <sys/select.h>
#include <sys/time.h>
#include <unistd.h>
int main() {
fd_set rfds;
struct timeval tv;
int retval;
/* 监听标准输入 */
FD_ZERO(&rfds);
FD_SET(STDIN_FILENO, &rfds);
/* 等待5秒钟 */
tv.tv_sec = 5;
tv.tv_usec = 0;
/* 等待输入事件 */
retval = select(STDIN_FILENO + 1, &rfds, NULL, NULL, &tv);
if (retval == -1) {
perror("select()");
} else if (retval) {
printf("Data is available now.\n");
} else {
printf("No data within five seconds.\n");
}
return 0;
}
```
阅读全文