首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

ubuntu C语言 输入有关问题

2012-04-01 
ubuntu C语言 输入问题我想从键盘输入一行字符,当输入特定字符时做出特定的反应,但是getchar,scanf都要等

ubuntu C语言 输入问题
我想从键盘输入一行字符,当输入特定字符时做出特定的反应,但是getchar,scanf都要等回车,我添加了curses.h库,但是getch依旧不能用,用getch每次不等输入就结束,而且每次得到的字符ASCII码都是-1,大家有没有什么好的方法解决这个呀。只要能在ubuntu下用C语言实现输入特定字符立即做出相应反应就可以,谢谢各位啦!!!

[解决办法]

C/C++ code
#include <termios.h>#include <unistd.h>#include <stdio.h>#include <stdbool.h>int main(){  struct termios attr, oldattr;  tcgetattr(0, &attr);  oldattr = attr;  attr.c_lflag &= ~ICANON;    //消除行缓冲  attr.c_lflag &= ~ECHO;      //消除输入回显  tcsetattr(0, TCSAFLUSH, &attr);  while(true)  {    int c = getchar();    if(c == 4)           //这种情况下 EOF(Ctrl+D) 是 0x04      break;    printf("0x%x input\n", c);  }  tcsetattr(0, TCSAFLUSH, &oldattr);    //记得结束以后还原终端属性,不然……  return 0;} 

热点排行
Bad Request.