这是程序的要点:
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 有一些问题,因为它给出了错误。
我想在按键上摆脱这个循环,这可能吗?如果是,该怎么做。
这是程序的要点:
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 有一些问题,因为它给出了错误。
我想在按键上摆脱这个循环,这可能吗?如果是,该怎么做。
while(!_kbhit()){
// do stuff here.
}
在 Windows 上工作。
您可以发出中断信号
#include <csignal>
raise(SIGINT);
或者
raise(SIGABRT);
可以终止您的程序的函数是exit()
.
要输入您的 cicle 的提前终止,您可以使用break
.
如果您愿意使用一些面向 C 的解决方案,我建议您看看这个问题。
对于与 linux 严格相关的内容,您可能应该参考ncurses 库和 exit 函数。
也不要假设特定的键组合等于终止,许多终端不是真正的终端而是仿真器,并且许多仿真器是由操作系统创建者和用户定制的。