我正在编写一个程序,它反复执行操作,直到Linux终端中的用户命中Ctrl C.我在C编程.任何想法如何实现这一点.
我已经通过使用带有条件的“for”循环测试了我的程序,但是现在我想让它在用户点击Ctrl C并且被中断时运行.
我在想的是编写一个do while循环,如下所示
做{
/运算/
}
while(Ctrl C未命中)
但我不知道如何检查用户的Ctrl C输入.
任何建议将不胜感激.
谢谢
解决方法:
信号陷阱比spudd86的建议更干净.但是,这个例子可以得到显着改善.
#include
/* ... */
int execute;
void trap(int signal){ execute = 0; }
int main() {
/* ... */
signal(SIGINT, &trap);
execute = 1;
while(execute){
/* ... */
}
signal(SIGINT, SIG_DFL);
/* ... */
}
标签:c-3,linux,terminal
来源: https://codeday.me/bug/20190712/1442800.html