linux多路io-----select简单用法
Posted 吾乃世间奇才
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux多路io-----select简单用法相关的知识,希望对你有一定的参考价值。
#include <sys/types.h>
#include <unistd.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <dirent.h>
int main(int argc, char * argv[])
{
int ret = 0;
int mousefd;
char arr[100];
fd_set readfds;
mousefd = open("/dev/input/mouse0", O_RDONLY);
if(mousefd == -1)
perror(argv[0]);
while(1){
FD_ZERO(&readfds);
FD_SET(0, &readfds);
FD_SET(mousefd, &readfds);
ret = select(mousefd+1, &readfds, NULL, NULL, NULL);
if(ret > 0){
if(FD_ISSET(0, &readfds)){
ret = read(0, arr, sizeof(arr));
if(ret > 0){
printf("%s\\n", arr);
}
}
if(FD_ISSET(mousefd, &readfds)){
ret = read(mousefd, arr, sizeof(arr));
if(ret > 0)
printf("%d\\n", arr);
}
}
}
return 0;
}
以上是关于linux多路io-----select简单用法的主要内容,如果未能解决你的问题,请参考以下文章