//头文件
#include <sys/ioctl.h>
#include <sys/io.h>
ioctl(STDIN_FILENO,FIONBIO,&attr);//清除阻塞输入,attr为1,这时读取不能使用getchar或scanf,如果没数据会直接返回
len = read(STDIN_FILENO,buf,sizeof(buf)-total);//读取命令窗口是否有输入
if (len>0){
total += len;
if(buf[total-1]=='\n'){
if((47<(int)buf[0])&&(58>(int)buf[0])){Speed = atoi(buf);}
if (buf[0]=='q'){ioctl(STDIN_FILENO,FIONBIO,&attr);return;}
total = 0;
memset(buf, 0, sizeof(buf));
}
}
退出时记得恢复阻塞输入
ioctl(STDIN_FILENO,FIONBIO,&attr)//attr为0