跟踪调用多少信号?

时间:2014-04-16 20:28:16

标签: c signals

我创建了一个程序,其中信号调用安装新的信号处理程序'signum',并且每当按下终端特殊字符时基本上都会显示一条消息,例如CRTL-C。

我想知道如果我想跟踪CRTL-C按下了多少次?我该如何实现呢?谢谢。

#include    <stdio.h>
#include    <signal.h>

main() {
    void    f(int);     
    int i;
    int count = 0;

    signal( SIGINT, f );        

    for (i = 0; i < 5; i++) {       
        printf("...I am waiting for you...\n");
        sleep(1);
    }

void f(int signum) {    
    printf("Haha, you clicked me!\n");
}

1 个答案:

答案 0 :(得分:0)

使用静态变量:

void f(int signum) {
   static int cnt = 0;
   printf('Hahah, you clicked me %d time(s)!', ++cnt);
}

如果您想在其他地方使用该计数,请改用全局变量。