Ц ++ сигнал () - Ц ++ стандардна библиотека

Функција сигнал () у Ц ++ поставља обрађивач грешака за наведени сигнал.

сигнал () Прототип

 воид (* сигнал (инт сиг, воид (* фунц) (инт))) (инт);

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

Када покренете програм, излаз ће бити:

 Сигналом се рукује

Занимљиви Чланци...