29

ncurses の getch() をブロックするのに問題があります。デフォルトの操作は非ブロッキングのように見えますか (または初期化を逃したのでしょうか)? Windows の getch() のように動作するようにしたいと思います。のさまざまなバージョンを試しました

timeout(3000000);
nocbreak();
cbreak();
noraw();
etc...

(すべて同時にではありません)。WINDOW可能であれば、(明示的に) any を使用しないことをお勧めします。while特定の戻り値をチェックする getch() の周りのループも OK です。

4

3 に答える 3

11

man ページから(強調を追加):

timeoutおよびルーチンはwtimeout、指定されたウィンドウのブロッキング読み取りまたは非ブロッキング読み取りを設定します。が負の場合delay、ブロッキング読み取りが使用されます (つまり、入力を無期限に待機します)。

于 2009-05-25T01:44:02.037 に答える