Signāla () funkcija C ++ iestata kļūdu apstrādātāju norādītajam signālam.
signāls () Prototips
void (* signāls (int sig, void (* func) (int))) (int);
signal
Funkcija nosaka metodi, lai apstrādātu signālu. Signāla apstrādātāju var iestatīt tā, lai tiktu veikta viena no šīm darbībām:
- Noklusējuma signāla apstrāde.
- Ignorējiet signālu.
- Lai apstrādātu signālu, tiek izsaukta lietotāja definēta funkcija.
Tas ir definēts galvenes failā "> header file.
signāls () Parametri
- sig: signāls, ar kuru jārīkojas, izmantojot signālu apstrādātāju. Tam var būt viena no šīm vērtībām:
- SIGABRT
- SIGFPE
- SIGILL
- PARAKSTS
- SIGSEGV
- SIGTERM
- apdarinātājs: signāla apstrādātājs, kas apstrādā signālu. Tas var būt viens no šiem:
- SIG_DFL: noklusējuma apstrāde.
- SIG_IGN: ignorējiet signālu.
- Funkcijas rādītājs: lietotāja definēta funkcija signāla apstrādei. Funkcijas parakstam jābūt līdzvērtīgam šādam:
void fun (int sig);
signāls () Atgriešanās vērtība
Veiksmīgi tas atgriež iepriekšējo signālu apstrādātāju, bet pēc kļūmes tiek atgriezts SIG_ERR.
Piemērs: Kā darbojas signāla () 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; )
Palaidot programmu, izeja būs:
Signāls tiek apstrādāts