1. ホーム
  2. c++

[解決済み] ctrl-cのイベントをキャッチするにはどうしたらいいですか?

2022-05-11 12:53:58

質問

どのようにすれば Ctrl + C C++でイベント?

どのように解決するのですか?

signal は、実装によって異なるため、最も信頼できる方法ではありません。私は sigaction . Tomのコードはこれで次のようになります。

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

void my_handler(int s){
           printf("Caught signal %d\n",s);
           exit(1); 

}

int main(int argc,char** argv)
{

   struct sigaction sigIntHandler;

   sigIntHandler.sa_handler = my_handler;
   sigemptyset(&sigIntHandler.sa_mask);
   sigIntHandler.sa_flags = 0;

   sigaction(SIGINT, &sigIntHandler, NULL);

   pause();

   return 0;    
}