gpt4 book ai didi

c - Ncurses 键盘输入

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:01:13 24 4
gpt4 key购买 nike

我测试了 getchgetchar 但它正在等待输入,我认为必须有一个读取键盘缓冲区的函数。我的部分代码

while (1) {
if (key!='r')
{
if (key!='q')
{
mvprintw(LINES-2, 1, "Display will refresh in %2d seconds", t);
refresh();
sleep(1);
t--;
break;
}
else
{
exit (0);
}
}
else
{
return;
}
}

最佳答案

如果你不想让 getch() 等待,你必须将它设置为非阻塞的,使用 nodelay()

执行后:

if (nodelay (pWin, 1) == ERR) {
// some error occurred.
}

如果没有可用的输入,getch() 将返回 ERR

输入选项的联机帮助页是 here getch 的行为在那里和它自己的联机帮助页中都提到了,链接 here .


int nodelay(WINDOW *win, bool bf);

The nodelay option causes getch to be a non-blocking call. If no input is ready, getch returns ERR. If disabled (bf is FALSE), getch waits until a key is pressed.

window 参数是您想要影响此设置的 curses 窗口。


In no-delay mode, if no input is waiting, the value ERR is returned.

关于c - Ncurses 键盘输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9208296/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com