C ++ सिग्नल () - C ++ स्टैंडर्ड लाइब्रेरी

C ++ में सिग्नल () फ़ंक्शन निर्दिष्ट सिग्नल के लिए त्रुटि हैंडलर सेट करता है।

संकेत () प्रोटोटाइप

 void (* संकेत (int sig, void (* func) (int))) (int);

signalसमारोह संकेत को संभालने के लिए एक विधि को परिभाषित करता है। सिग्नल हैंडलर सेट किया जा सकता है ताकि निम्नलिखित में से एक कार्रवाई की जाए:

  • सिग्नल की डिफ़ॉल्ट हैंडलिंग।
  • संकेत पर ध्यान न दें।
  • संकेत को संभालने के लिए उपयोगकर्ता परिभाषित फ़ंक्शन को कहा जाता है।

इसे हेडर फ़ाइल "> हेडर फ़ाइल में परिभाषित किया गया है।

संकेत () पैरामीटर

  • sig: सिग्नल हैंडलर द्वारा हैंडल करने का संकेत। यह निम्न में से एक मान ले सकता है:
    • SIGABRT
    • SIGFPE
    • SIGILL
    • SIGINT
    • SIGSEGV
    • SIGTERM
  • हैंडलर: सिग्नल हैंडलर जो सिग्नल को हैंडल करता है। यह निम्नलिखित में से एक हो सकता है:
    • SIG_DFL: डिफ़ॉल्ट हैंडलिंग।
    • SIG_IGN: सिग्नल पर ध्यान न दें।
    • किसी फ़ंक्शन के लिए सूचक: सिग्नल को संभालने के लिए उपयोगकर्ता परिभाषित फ़ंक्शन। फ़ंक्शन का हस्ताक्षर निम्नलिखित के बराबर होना चाहिए:
       शून्य मज़ा (इंट सिग);

संकेत () वापसी मूल्य

सफलता पर, यह पिछला सिग्नल हैंडलर लौटाता है और विफलता पर SIG_ERR को वापस कर दिया जाता है।

उदाहरण: संकेत () फ़ंक्शन कैसे काम करता है

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

जब आप प्रोग्राम चलाते हैं, तो आउटपुट होगा:

 सिग्नल संभाला है

दिलचस्प लेख...