'% M' रूपांतरण त्रुटि कोड के अनुरूप स्ट्रिंग को प्रिंट करता है। त्रुटि संदेश देखें। इस प्रकार:
fprintf (stderr, "can't open `%s': %m\n", filename);
के बराबर है:
fprintf (stderr, "can't open `%s': %s\n", filename, strerror (errno));
'% M' रूपांतरण GNU C लाइब्रेरी एक्सटेंशन है।
इसलिए:
printf("%m\n", d);
के बराबर है
printf("%s\n", strerror (errno), d);
जो के बराबर है
printf("%s\n", strerror (errno));
ध्यान दें कि%mएक तर्क की आवश्यकता नहीं है। यहाँprintf("%m\n", d)तथाprintf("%s\n", strerror (errno), d)आवश्यकता से अधिक तर्क हैं: के साथprintfयदि अतिरिक्त अनुगामी तर्क हैं, तो उनका मूल्यांकन और उपेक्षा की जाती है।
सभी उत्तर
m
रूपांतरण विनिर्देशक C नहीं है, लेकिन एक GNU एक्सटेंशन हैprintf
:GNU प्रलेखन से:
http://www.gnu.org/software/libc/manual/html_node/Other-Output-Convers.html.html
इसलिए:
के बराबर है
जो के बराबर है
ध्यान दें कि
%m
एक तर्क की आवश्यकता नहीं है। यहाँprintf("%m\n", d)
तथाprintf("%s\n", strerror (errno), d)
आवश्यकता से अधिक तर्क हैं: के साथprintf
यदि अतिरिक्त अनुगामी तर्क हैं, तो उनका मूल्यांकन और उपेक्षा की जाती है।Leave a Reply