// ( t17.C ) // 割込処理のやり方 // /* C言語で使えた。何となく分かりにくい機能なので、掲載した。*/ #include #include #include // exit void handler( int i ) { cout << "Error = " << i << endl ; exit(1) ; } main() { signal( SIGHUP,handler ) ; // Ctrl+z で Error = 0 signal( SIGINT,handler ) ; // Ctrl+q で Error = 2 signal( SIGFPE,handler ) ; // 0による割り算で Error = 8 cout << "start\n" ; int i ; cin >> i ; int j = 10/i ; cout << "j = " << j << endl ; cout << "end\n" ; exit(0); } /* [参考] main() { signal( SIGINT,handler ) ; printf( "start\n" ) ; sleep(10); 待ち時間でも Ctrl+q で割込みが効く printf( "end\n" ) ; } */