如何在C ++中捕获Ctrl + C事件?
CTRL+C用于向当前正在执行的任务发送中断。在此程序中,我们将看到如何使用C++捕获CTRL+C事件。
CTRL+C是C或C++中的一个信号。因此我们可以通过信号捕获技术来捕获。对于此信号,代码为SIGINT(中断信号)。此处信号由signal()方法捕获。然后在收到信号后将一个回调地址传递给调用函数。
请查看程序以获得更好的主意。
示例
#include <unistd.h>
#include <iostream>
#include <cstdlib>
#include <signal.h>
using namespace std;
//定义将ctrl-c(SIGINT)发送到进程时要调用的函数
void signal_callback_handler(int signum) {
cout << "Caught signal " << signum << endl;
//终止程序
exit(signum);
}
int main(){
//注册信号和信号处理程序
signal(SIGINT, signal_callback_handler);
while(true){
cout << "Program processing..." << endl;
sleep(1);
}
return EXIT_SUCCESS;
}输出结果
$ g++ test.cpp $ ./a.out Program processing... Program processing... Program processing... Program processing... Program processing... Program processing... ^CCaught signal 2 $
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短