Linux下如何在C中获取方向键键值?求大神指导
#include <stdio.h>
#include <ncurses.h>
void main()
{
initscr();
char c=getch();
if (c == -32)
{
c=getch();
if (c == 75 )
{
printw ("left");
}
}
getch();
endwin();
}
求大神解答下 为什么我这样写在ubuntu下面无法获得键值?
按完左方向键后直接退出exe 命令行会多个D 是因为什么
要如何实现?
初学不懂 求指导
------解决方案--------------------跟你在另外一个帖子里说了,你需要正确的初始化ncurses:
initscr(); // 切换到cruses模式
cbreak(); // 立即读取按键,而不是等按回车(也就是禁止行缓冲)
noecho(); // 禁止输入回显(否则按功能键就会出现D之类的字符)
keypad(stdscr, TRUE); // 允许使用功能键(包括方向键)
refresh(); // 清除屏幕
退出的时候必须用endwin()恢复终端设定。