Funktsioon signal () funktsioonis C ++ määrab veatöötleja määratud signaali jaoks.
signaal () Prototüüp
void (* signaal (int sig, void (* func) (int))) (int);
signal
Funktsioon 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