Функцията рейз () в C ++ изпраща сигнал към програмата.
рейз () Прототип
int рейз (int sig);
Функцията за повишаване повиква манипулатора на сигнала. Ако не е зададена дефинирана от потребителя функция за обработка на сигнала, дефинирано е изпълнението дали сигналът ще бъде игнориран или ще бъде извикан манипулаторът по подразбиране.
Определя се в заглавния файл "> заглавния файл.
Параметри на рейз ()
sig: Сигналът, който трябва да бъде изпратен за обработка. Може да приеме една от следните стойности:
- SIGABRT
- SIGFPE
- SIGILL
- ЗНАЧЕНИЕ
- SIGSEGV
- SIGTERM
рейз () Върната стойност
При успех той връща нула, а при неуспех се връща ненулево.
Пример: Как работи функцията рейз ()
#include #include using namespace std; sig_atomic_t sig_value = 0; void handler(int sig) ( sig_value = sig; ) int main() ( signal(SIGABRT, handler); cout << "Before signal handler is called" << endl; cout << "Signal = " << sig_value << endl; raise(SIGABRT); cout << "After signal handler is called" << endl; cout << "Signal = " << sig_value << endl; return 0; )
Когато стартирате програмата, изходът ще бъде:
Преди манипулаторът на сигнал се нарича Signal = 0 След манипулатора на сигнал се нарича Signal = 6