C ++ signal () - C ++ Standardbibliotek

Funktionen signal () i C ++ indstiller fejlbehandleren til det angivne signal.

signal () Prototype

 ugyldigt (* signal (int sig, ugyldigt (* func) (int))) (int);

Den signalFunktionen definerer en fremgangsmåde til at håndtere signalet. Signalhåndtereren kan indstilles, så en af ​​følgende handlinger udføres:

  • Standardhåndtering af signal.
  • Ignorer signalet.
  • Brugerdefineret funktion kaldes til at håndtere signalet.

Det er defineret i header-fil "> header-fil.

signal () Parametre

  • sig: Signalet, der skal håndteres af signalhandleren. Det kan tage en af ​​følgende værdier:
    • SIGABRT
    • SIGFPE
    • SIGILL
    • SIGINT
    • SIGSEGV
    • SIGTERM
  • handler: Signalhandleren, der håndterer signalet. Det kan være et af følgende:
    • SIG_DFL: Standardhåndtering.
    • SIG_IGN: Ignorer signalet.
    • Markør til en funktion: Brugerdefineret funktion til at håndtere signalet. Funktionens underskrift skal svare til følgende:
       ugyldig sjov (int sig);

signal () Returværdi

Efter succes returnerer den tidligere signalbehandler, og ved fejl returneres SIG_ERR.

Eksempel: Hvordan signal () fungerer

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

Når du kører programmet, vil output være:

 Signal håndteres

Interessante artikler...