首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ncurses键盘输入

Ncurses键盘输入
EN

Stack Overflow用户
提问于 2012-02-09 09:33:04
回答 1查看 7.2K关注 0票数 0

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

代码语言:javascript
复制
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;
    }
}
EN

回答 1

Stack Overflow用户

发布于 2012-02-09 09:36:46

如果不希望getch()等待,则必须使用nodelay()将其设置为非阻塞。

执行后:

代码语言:javascript
复制
if (nodelay (pWin, 1) == ERR) {
    // some error occurred.
}

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

输入选项的主页是这里getch的行为在这里和它自己的手册中都提到了,即链接这里

int nodelay(WINDOW *win, bool bf); nodelay选项导致getch是非阻塞调用.如果没有准备好输入,getch将返回ERR。如果禁用(bfFALSE),则getch等待直到按下键。

窗口参数是要在其上执行此设置的curses窗口。

在无延迟模式下,如果没有等待输入,则返回值ERR .

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9208296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档