C ++ signāls () - C ++ standarta bibliotēka

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);

signalFunkcija 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

Interesanti raksti...