C ++ signal () - C ++ Standardbibliotek

Signal () -funksjonen i C ++ angir feilbehandleren for det angitte signalet.

signal () Prototype

 ugyldig (* signal (int sig, void (* func) (int))) (int);

Den signalfunksjon definerer en metode for å behandle signalet. Signalbehandleren kan stilles inn slik at en av følgende handlinger utføres:

  • Standardhåndtering av signal.
  • Ignorer signalet.
  • Brukerdefinert funksjon kalles for å håndtere signalet.

Den er definert i topptekstfil "> topptekstfil.

signal () Parametere

  • sig: Signalet som skal håndteres av signalbehandleren. Det kan ta en av følgende verdier:
    • SIGABRT
    • SIGFPE
    • SIGILL
    • SIGINT
    • SIGSEGV
    • SIGTERM
  • behandler: Signalbehandleren som håndterer signalet. Det kan være ett av følgende:
    • SIG_DFL: Standardhåndtering.
    • SIG_IGN: Ignorer signalet.
    • Peker til en funksjon: Brukerdefinert funksjon for å håndtere signalet. Funksjonens signatur må tilsvare følgende:
       ugyldig moro (int sig);

signal () Returverdi

Ved suksess returnerer den forrige signalbehandleren og ved feil 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 kjører programmet, vil utdataene være:

 Signal håndteres

Interessante artikler...