我想不断检查键盘按键来控制字符。经过一些研究,我看到人们推荐Mac上使用ncurses,所以我尝试了一下,但是效果不佳。我进行了测试,看是否有效,但收到错误消息“体系结构x86_64的未定义符号:”。有什么办法可以解决这个问题。 (我只是从编码开始,所以也许它确实很小而笨拙)。
#include <iostream>
#include <ncurses.h>
using namespace std;
int main()
{
keypad(stdscr, TRUE);
halfdelay(1);
int c = getch();
switch (c)
{
case KEY_UP:
cout << endl << "You pressed UP" << endl;
}
return 0;
}
例如,您忘记初始化诅咒
initscr();
在keypad
调用之前。 manual page for ncurses提到了这一点:
要一次输入字符而不回显(大多数交互方式,面向屏幕的程序需要此),应遵循以下顺序使用过:
initscr(); cbreak(); noecho();
大多数程序会另外使用以下顺序:
nonl();
intrflush(stdscr, FALSE);
keypad(stdscr, TRUE);