Fungsi isyarat () dalam C ++ menetapkan pengendali ralat untuk isyarat yang ditentukan.
isyarat () Prototaip
kekosongan (* isyarat (int sig, kekosongan (* func) (int))) (int);
Yang signal
fungsi mentakrifkan kaedah untuk mengendalikan isyarat. Pengendali isyarat dapat diatur sehingga salah satu tindakan berikut dilakukan:
- Pengendalian isyarat secara lalai.
- Abaikan isyarat.
- Fungsi yang ditentukan pengguna dipanggil untuk mengendalikan isyarat.
Ia ditakrifkan dalam header file "> header file.
isyarat () Parameter
- sig: Isyarat untuk dikendalikan oleh pengendali isyarat. Ia boleh mengambil salah satu nilai berikut:
- SIGABRT
- SIGFPE
- SIGILL
- TANDATANGAN
- SIGSEGV
- TANDATANGAN
- pengendali: Pengendali isyarat yang mengendalikan isyarat. Ini boleh menjadi salah satu perkara berikut:
- SIG_DFL: Pengendalian lalai.
- SIG_IGN: Abaikan isyarat.
- Pointer ke fungsi: Fungsi yang ditentukan pengguna untuk mengendalikan isyarat. Tandatangan fungsi mestilah sama dengan yang berikut:
keseronokan kosong (int sig);
isyarat () Nilai pulangan
Pada kejayaan, ia mengembalikan pengendali isyarat sebelumnya dan pada kegagalan SIG_ERR dikembalikan.
Contoh: Bagaimana fungsi isyarat () berfungsi
#include #include using namespace std; sig_atomic_t signalled = 0; void handler(int sig) ( signalled = 1; ) int main() ( signal(SIGINT, handler); raise(SIGINT); if (signalled) cout << "Signal is handled"; else cout << "Signal is not handled"; return 0; )
Semasa anda menjalankan program, outputnya adalah:
Isyarat dikendalikan