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

时间:2019-07-04 21:31:55

标签: c++ ncurses getch

我正在使用ncurses。我正在开发一个程序,当我按Enter键时启动计时器。我使用以下代码:

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

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

        }

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

1 个答案:

答案 0 :(得分:0)

我相信您需要将nodelay设置为FALSE并调用cbreak(),以便wgetch()阻止,等待下一个键入的字符,然后将其返回。

nodelay(w, FALSE);
cbreak();

自从我使用ncurses以来已经有一段时间了,但是如果我没记错的话,应该这样做。让我知道。