getch 不读取键盘输入
getch not reading keyboard input
正在尝试为简单的终端游戏获取用户输入。我在 Mac OS。
#include <stdio.h>
#include <curses.h>
#include <iostream>
int main()
{
int ch;
while (ch != 113)
{
ch = getch();
std::cout << ch << std::endl;
}
return 0;
}
在这个例子中,我试图简单地打印我的击键,但 ch = getch()
似乎没有做任何事情。它不等待按键, std::cout << ch << std::endl
只是重复打印 -1 。无法弄清楚我在这里做错了什么。
您需要先调用 initscr
,然后再调用任何其他 curses 函数。
http://www.cs.ukzn.ac.za/~hughm/os/notes/ncurses.html
#include <stdio.h>
#include <curses.h>
#include <iostream>
int main()
{
int ch;
initscr(); // <----------- this
while (ch != 113)
{
ch = getch();
std::cout << ch << std::endl;
}
return 0;
}
正在尝试为简单的终端游戏获取用户输入。我在 Mac OS。
#include <stdio.h>
#include <curses.h>
#include <iostream>
int main()
{
int ch;
while (ch != 113)
{
ch = getch();
std::cout << ch << std::endl;
}
return 0;
}
在这个例子中,我试图简单地打印我的击键,但 ch = getch()
似乎没有做任何事情。它不等待按键, std::cout << ch << std::endl
只是重复打印 -1 。无法弄清楚我在这里做错了什么。
您需要先调用 initscr
,然后再调用任何其他 curses 函数。
http://www.cs.ukzn.ac.za/~hughm/os/notes/ncurses.html
#include <stdio.h>
#include <curses.h>
#include <iostream>
int main()
{
int ch;
initscr(); // <----------- this
while (ch != 113)
{
ch = getch();
std::cout << ch << std::endl;
}
return 0;
}