【发布时间】:2012-10-20 17:52:04
【问题描述】:
这是程序的要点:
while(true)
{
//bunch of codes that gets data from port ,
//if there is no data it waits here .
}
我正在使用 linux ,是否有对 Ctrl+C 等按键的内置支持。我可以使用signal(SIGINT, signal_callback_handler); 捕捉到这一点,但是 Ctrl+C 有一些问题,因为它会给出错误。
我想在按键时退出这个循环,这可能吗? 如果是,该怎么做。
【问题讨论】:
-
break让你摆脱困境。要获得密钥,您可能需要一个线程。 -
哪个操作系统?在 Windows 上,使用
GetAsyncKeyState检查特定键就足够了。 -
"如果这里没有数据等待"我想你的意思是 spins 在这里,除非你的端口读取被阻塞。
-
它被阻塞了,它停在那里。
-
在 Linux 上,您可以使用 NCurses。这已经回答了:stackoverflow.com/a/4028974/856199
标签: c++