Funkcija signal () u C ++ postavlja obrađivač pogrešaka za navedeni signal.
signal () Prototip
void (* signal (int sig, void (* func) (int))) (int);
signal
Funkcija definira metodu za obradu signala. Rukovatelj signalom može se postaviti tako da se izvrši jedna od sljedećih radnji:
- Zadana obrada signala.
- Zanemarite signal.
- Korisnički definirana funkcija poziva se za upravljanje signalom.
Definirano je u datoteci zaglavlja "> datoteka zaglavlja.
parametri signala ()
- sig: Signal kojim se rukuje obrađivač signala. Može uzeti jednu od sljedećih vrijednosti:
- SIGABRT
- SIGFPE
- SIGILL
- ZNAK
- SIGSEGV
- SIGTERM
- rukovatelj: rukovatelj signalom koji obrađuje signal. To može biti jedno od sljedećeg:
- SIG_DFL: Zadano rukovanje.
- SIG_IGN: Zanemarite signal.
- Pokazivač na funkciju: Korisnički definirana funkcija za upravljanje signalom. Potpis funkcije mora biti ekvivalentan sljedećem:
praznina zabava (int sig);
signal () Povratna vrijednost
Uspjehom vraća prethodni rukovatelj signalom, a u slučaju kvara vraća se SIG_ERR.
Primjer: Kako funkcionira signal () funkcija
#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; )
Kada pokrenete program, izlaz će biti:
Signal se obrađuje