C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++でCtrl+Cイベントをキャッチするにはどうすればよいですか?


CTRL + Cは、現在実行中のタスクに割り込みを送信するために使用されます。このプログラムでは、C++を使用してCTRL+Cイベントをキャッチする方法を説明します。

CTRL + Cは、CまたはC++の1つの信号です。だから私たちは信号キャッチ技術でキャッチすることができます。この信号の場合、コードはSIGINT(Signal for Interrupt)です。ここで、シグナルはsignal()関数によってキャッチされます。次に、シグナルを取得した後、1つのコールバックアドレスが関数を呼び出すために渡されます。

より良いアイデアを得るためにプログラムをご覧ください。

#include <unistd.h>
#include <iostream>
#include <cstdlib>
#include <signal.h>
using namespace std;
// Define the function to be called when ctrl-c (SIGINT) is sent to process
void signal_callback_handler(int signum) {
   cout << "Caught signal " << signum << endl;
   // Terminate program
   exit(signum);
}
int main(){
   // Register signal and signal handler
   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
$

  1. C ++プログラムを使用してプログラムを起動するにはどうすればよいですか?

    ここでは、メモ帳などのサードパーティアプリケーションやC++プログラムを使用したものを起動する方法を説明します。このプログラムは非常に単純で、コマンドプロンプトコマンドを使用してこのタスクを実行できます。 system()関数内でアプリケーション名を渡します。これにより、それに応じて開きます。 例 #include <iostream> using namespace std; int main() {    cout >> "Opening Nodepad.exe" >> endl;    sy

  2. C ++プログラミングを始める方法は?

    C ++でプログラミングする方法を学ぶことにしましたが、どこから始めればよいかわかりません。開始方法の概要は次のとおりです。 C++コンパイラを入手する これは、C++でのプログラミングの学習を開始する前に実行したい最初のステップです。すべての主要なOSプラットフォームで利用できる優れた無料のC++コンパイラがあります。プラットフォームに適したものをダウンロードするか、https://www.tutorialspoint.com/compile_cpp_online.phpでtutorialspoint.comのオンラインコンパイラを使用できます。 GCC − GCCはGNUコンパイラ