あなたには、いくつかの処理cをCTRL +を押したときに何も場合は、そのようなネットワークポートなど、いくつかの未発表のリソースが、使用中である可能性があります。
次のようにキャプチャCTRL + C Cの必要な信号機能ライブラリは、特定のコードです。
書式#include <iostreamの>
書式#include <signal.hに>
BOOL app_stopped = 偽;
無効sigint_handler (int型SIG ){
もし(SIG == SIGINT ){
//のCTRL + cが終了したときにコードが実行さ
std :: coutの<< "Ctrl + Cキーを押します!" << はstd :: てendl ;
app_stopped = 真;
}
}
INT メイン(int型ARGC 、CHAR * * ARGV ){
信号(SIGINT 、sigint_handler )。
一方、(真){
std :: coutの<< "whileループ..." << はstd :: てendl ;
もし(app_stopped )
破ります。
}
std :: coutのは、<< "アプリが停止しました!" << はstd :: てendl ;
リターン0 ;
}