Signal C ++ () - Standardna knjižnica C ++

Funkcija signal () v jeziku C ++ nastavi obdelovalec napak za navedeni signal.

signal () Prototip

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

signalFunkcija določa način za ravnanje signal. Obdelovalca signala lahko nastavite tako, da se izvede eno od naslednjih dejanj:

  • Privzeto ravnanje s signalom.
  • Prezri signal.
  • Za obdelavo signala se pokliče uporabniško določena funkcija.

Določen je v datoteki glave "> datoteka glave.

signal () Parametri

  • sig: signal, ki ga mora obdelati upravljavec signala. Lahko ima eno od naslednjih vrednosti:
    • SIGABRT
    • SIGFPE
    • PREPRIČAJ
    • POMEN
    • SIGSEGV
    • SIGTERM
  • handler: upravljalec signala, ki obdeluje signal. Lahko je eno od naslednjega:
    • SIG_DFL: Privzeto ravnanje.
    • SIG_IGN: Prezri signal.
    • Kazalec na funkcijo: Uporabniško določena funkcija za obdelavo signala. Podpis funkcije mora biti enakovreden naslednjemu:
       void fun (int sig);

signal () Vrnjena vrednost

Po uspehu vrne prejšnji obdelovalec signala in ob okvari vrne SIG_ERR.

Primer: Kako deluje funkcija signal ()

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

Ko zaženete program, bo rezultat:

 Signal je obdelan

Zanimive Članki...