nio

看了一下http://chen-xiao-mei2009-163-com.iteye.com/blog/464972
#include <sys/time.h> 
#include <stdio.h> 
#include <sys/types.h> 
#include <sys/stat.h> 
#include <fcntl.h> 
#include <assert.h> 
int main () 
{ 
	int keyboard; 
	int ret,i; 
	char c; 
	fd_set readfd; 
	struct timeval timeout; 
	keyboard = open("/dev/tty",O_RDONLY | O_NONBLOCK); 
	assert(keyboard>0); 
	while(1) 
	{ 
		timeout.tv_sec=1; 
		timeout.tv_usec=0; 
		FD_ZERO(&readfd); 
		FD_SET(keyboard,&readfd); 
		ret=select(keyboard+1,&readfd,NULL,NULL,&timeout); 
		if(FD_ISSET(keyboard,&readfd))
		{ 
				i=read(keyboard,&c,1); 
				if('\n'==c) 
				continue; 
				printf("the input is %c\n",c); 
				if ('q'==c) 
					break; 
				} 
		} 
}

感觉nio的selector和这个select是否有一定联系

你可能感兴趣的:(C++,c,C#,Blog)