如何在同时做其他事情的同时从键盘输入?

Tom*_*mas 10 c ncurses

我正在使用C(gcc)和ncurses来制作一个程序来监控来自串口的数据.该程序有一个很大的while,它读取来自端口的数据,同时,它在屏幕上打印该信息...

但问题出在这里:

它如何从键盘读取输入(因为getch()冻结程序直到它获得输入)并同时读取来自端口的信息?

也许我必须使用另一种方式(不是大的while),所以欢迎这些想法!

Roz*_*uur 8

使用nodelay选项使getch成为非阻塞调用.

nodelay(stdscr,TRUE);
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请访问http://www.gsp.com/cgi-bin/man.cgi?topic=nodelay

  • http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/你可以从这里学到很多东西. (2认同)
  • 该链接实际上没有提到`nodelay()` (2认同)