写简单的控制台程序的时候如果需要在用户通过Ctrl-C结束程序前进行一些收尾工作,那么首先要获取中断信号,下面程序是一个示例
#include <signal.h>
#include<stdio.h>
#include <windows.h>
void sigint_catch(int sig_no)
{
printf("will quit .../n");
if(SIGINT == sig_no){
printf("catch signal is SIGINT/n");
signal(SIGINT,SIG_DFL);
raise(SIGINT);
}
}
int main(void)
{
//signal( SIGABRT, sigint_catch );
signal( SIGINT, sigint_catch );
while (1)
{
printf("sleeping/n");
Sleep(1000);
}
return 0;
}
900

被折叠的 条评论
为什么被折叠?



