C ++ signaal () - C ++ Standard Library

Funktsioon signal () funktsioonis C ++ määrab veatöötleja määratud signaali jaoks.

signaal () Prototüüp

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

signalFunktsioon määratleb meetodi hakkama signaali. Signaali käitleja saab seadistada nii, et sooritatakse üks järgmistest toimingutest:

  • Signaali vaikekäsitlus.
  • Eirake signaali.
  • Signaali käitlemiseks kutsutakse kasutaja määratud funktsiooni.

See on määratletud päisefailis "> päisefail.

signaal () Parameetrid

  • sig: signaali käitleja signaal, mida käsitseda. Selleks võib olla üks järgmistest väärtustest:
    • SIGABRT
    • SIGFPE
    • SIGILL
    • SIGINT
    • SIGSEGV
    • SIGTERM
  • käitleja: signaali käitleja, kes signaali käsitseb. See võib olla üks järgmistest:
    • SIG_DFL: vaikekäsitlus.
    • SIG_IGN: ignoreerige signaali.
    • Funktsiooni kursor: kasutaja määratud funktsioon signaali käitlemiseks. Funktsiooni allkiri peab olema samaväärne järgmisega:
       tühine lõbu (int sig);

signaal () Tagasiväärtus

Edukuse korral tagastab see eelmise signaalkäitleja ja tõrke korral tagastatakse SIG_ERR.

Näide: kuidas funktsioon signal () töötab

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

Programmi käivitamisel on väljund järgmine:

 Signaali käsitletakse

Huvitavad Artiklid...