标签:
#include <stdio.h>
#include <termio.h> //终端操作头文件
char getch(void)
{
struct termios tm, tm_old;
int fd = 0, ch;
if (tcgetattr(fd, &tm) < 0) { //保存现在的终端设置
return -1;
}
tm_old = tm;
cfmakeraw(&tm); //更改终端设置为原始模式,该模式下所有的输入数据以字节为单位被处理
if (tcsetattr(fd, TCSANOW, &tm) < 0) { //设置上更改之后的设置
return -1;
}
ch = getchar();
if (tcsetattr(fd, TCSANOW, &tm_old) < 0) { //更改设置为最初的样子
return -1;
}
return (char)ch;
}
int main(void)
{
char ch;
while((ch = getch()) != 0x0D && ch != 0x1B) {
printf("%x", ch);
}
printf("\n");
return 0;
}
标签:
原文地址:http://www.cnblogs.com/wanhuan/p/5847110.html