getch() 没有产生预期的结果

getch() doesnt produce the expected result

我正在 ncurses.I 开发一个程序,当我按 enter 键时它会启动一个计时器。我使用此代码:

        while(( ch = wgetch(w)) != 'q' )
        { 
            switch( ch ) {
            ...

            case ENTER: /*timer is expected to start by a function*/

        }

但是,我需要按住回车键才能启动计时器。我想要的是只需按 Enter 键即可启动计时器。我该如何解决这个问题?我有定时器功能。提前致谢。

我认为您需要将 nodelay 设置为 FALSE 并调用 cbreak() 以便 wgetch() 阻塞,等待输入的下一个字符,并且 return它。

nodelay(w, FALSE);
cbreak();

我已经有一段时间没有使用 ncurses 了,但如果我没记错的话,那应该可以了。让我知道。