推荐回答
你这方法太复杂了,建议用select。include#iinclude#includeintmygetcharintwait//你原来的是秒,我就按秒。不过建议按毫秒{intret=-1;structtimevaltimeout={0,0};timeout.tv_sec=longwait;fd_setfdset;intmaxfd=STDIN_FILENO;FD_ZERO&fdset;FD_SETSTDIN_FILENO,&fdset;interr=selectmaxfd+1,&fdset,&fdset,NULL,&timeout;iferr<0{printf"selecterror!";return-1;}ifFD_ISSETSTDIN_FILENO,&fdset{ret=getchar;printf"getachar''%c''",ret;}else{printf"timeout!";}returnret;。
堵文斌2019-12-21 18:57:34
提示您:回答为网友贡献,仅供参考。