C ++ jel () - C ++ Standard Library

A signal () függvény a C ++ nyelven beállítja a hibakezelőt a megadott jelhez.

jel () Prototípus

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

A signalfüggvény meghatározza a jel kezelésének módját. A jelkezelő úgy állítható be, hogy a következő műveletek egyikét hajtsa végre:

  • A jel alapértelmezett kezelése.
  • Hagyd figyelmen kívül a jelet.
  • A felhasználó által definiált funkciót hívják a jel kezelésére.

A "header file"> header fájlban van meghatározva.

jel () Paraméterek

  • sig: A jelkezelő által kezelendő jel. A következő értékek egyikét veheti fel:
    • SIGABRT
    • SIGFPE
    • SIGILL
    • JEL
    • SIGSEGV
    • SIGTERM
  • kezelő: A jelet kezelő jelkezelő. Ez lehet az alábbiak egyike:
    • SIG_DFL: Alapértelmezett kezelés.
    • SIG_IGN: Hagyja figyelmen kívül a jelet.
    • Funkció mutatója: A felhasználó által definiált funkció a jel kezelésére. A függvény aláírásának egyenértékűnek kell lennie a következőkkel:
       void fun (int sig);

jel () Visszatérési érték

Siker esetén visszaadja az előző jelkezelőt és meghibásodás esetén a SIG_ERR értéket adja vissza.

Példa: Hogyan működik a signal () függvény

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

A program futtatásakor a kimenet a következő lesz:

 A jelet kezelik

érdekes cikkek...