当前位置: 技术问答>linux和unix
Linux下如何在C中获取方向键键值?求大神指导
来源: 互联网 发布时间:2017-04-04
本文导语: #include #include void main() { initscr(); char c=getch(); if (c == -32) { c=getch(); if (c == 75 ) { printw ("left"); } } getch(); endwin(); } 求大神解答下 为什么我这样写在ubuntu下面无法获得键值? 按完左方向键后...
#include
#include
void main()
{
initscr();
char c=getch();
if (c == -32)
{
c=getch();
if (c == 75 )
{
printw ("left");
}
}
getch();
endwin();
}
求大神解答下 为什么我这样写在ubuntu下面无法获得键值?
按完左方向键后直接退出exe 命令行会多个D 是因为什么
要如何实现?
初学不懂 求指导
#include
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()恢复终端设定。
initscr(); // 切换到cruses模式
cbreak(); // 立即读取按键,而不是等按回车(也就是禁止行缓冲)
noecho(); // 禁止输入回显(否则按功能键就会出现D之类的字符)
keypad(stdscr, TRUE); // 允许使用功能键(包括方向键)
refresh(); // 清除屏幕
退出的时候必须用endwin()恢复终端设定。