मानक का कहना है इस बारे में errno
:
errno का मान शून्य कार्यक्रम स्टार्टअप पर है, लेकिन किसी भी पुस्तकालय समारोह से शून्य पर सेट कभी नहीं किया गया है। इरनो का मान किसी लाइब्रेरी फ़ंक्शन कॉल द्वारा nonzero पर सेट किया जा सकता है चाहे कोई त्रुटि हो या नहीं, बशर्ते इरनो का उपयोग इस अंतर्राष्ट्रीय मानक में फ़ंक्शन के विवरण में दस्तावेज न हो।
कौन सा मेरे लिए कहा गया है कि किसी भी पुस्तकालय समारोह किसी भी तरह से यह सिवाय पसंद करती है में errno
के साथ चारों ओर पेंच कर सकते हैं:
- यह निर्धारित नहीं कर सकते
errno
0
- करने के लिए इसे यह क्या नहीं कर सकते पसंद करती है, तो मानक रूप से अन्यथा कहते हैं
ध्यान दें कि मानक एक फुटनोट में निम्नलिखित पता चलता है:
+०१२३५१६४१०६१
इस प्रकार, एक प्रोग्राम जो त्रुटि जांच के लिए errno
का उपयोग करता है उसे लाइब्रेरी फ़ंक्शन कॉल से पहले शून्य पर सेट करना चाहिए, उसके बाद इसे बाद के लाइब्रेरी फ़ंक्शन कॉल से पहले निरीक्षण करें। बेशक, एक लाइब्रेरी फ़ंक्शन एंट्री पर errno
के मान को सहेज सकता है और फिर इसे शून्य पर सेट कर सकता है, जब तक कि मूल मान बहाल हो जाए, यदि errno
का मान अभी भी वापसी से पहले शून्य है।
अन्य उत्तर में बताया गया है, यह काम करता है कि errno
स्थापित करने के लिए और साथ ही मानक में नहीं हैं के लिए आम बात है।
स्रोत
2009-07-12 18:46:41
@Leif, कूल कि आप के एंड आर के माध्यम से काम कर रहे हैं। मैंने अपनी छुट्टियों के दौरान बस कुछ दिनों के लिए ऐसा करना समाप्त कर दिया। (-: –