C ++ wcrtomb () - C ++ मानक पुस्तकालय

C ++ में wcrtomb () फ़ंक्शन एक विस्तृत चरित्र को इसकी संकीर्ण मल्टीबाइट प्रतिनिधित्व में परिवर्तित करता है।

Wcrtomb () हेडर फ़ाइल में परिभाषित किया गया है।

wcrtomb () प्रोटोटाइप

 size_t wcrtomb (char * s, wchar_t wc, mbstate_t * ps);

Wcrtomb () फ़ंक्शन wc द्वारा दर्शाए गए विस्तृत वर्ण को एक संकीर्ण मल्टीबाइट वर्ण में कनवर्ट करता है और इसे s द्वारा इंगित पते में संग्रहीत किया जाता है।

  • यदि एक अशक्त सूचक नहीं है, तो wcrtomb () फ़ंक्शन wc के मल्टीबाइट प्रतिनिधित्व को संग्रहीत करने के लिए आवश्यक बाइट्स की अधिकतम संख्या निर्धारित करता है और इसे s द्वारा बताए गए मेमोरी स्थान में संग्रहीत करता है। अधिकतम MB_CUR_MAX बाइट्स लिखी जा सकती हैं। पीएस का मान आवश्यकतानुसार अपडेट किया गया है।
  • यदि एक अशक्त सूचक है, तो कॉल wcrtomb(buf, L'', ps)कुछ आंतरिक बफ़र बुफ़ के बराबर है ।
  • यदि wc == L'', एक अशक्त बाइट संग्रहीत है।

wcrtomb () पैरामीटर

  • s: परिणाम को संग्रहीत करने के लिए मल्टीबाइट कैरेक्टर एरे की ओर इशारा करता है।
  • wc: कन्वर्ट करने के लिए वाइड कैरेक्टर।
  • पीएस: मल्टीबीट स्ट्रिंग की व्याख्या करते समय उपयोग किए जाने वाले रूपांतरण राज्य को इंगित करता है

wcrtomb () रिटर्न वैल्यू

  • सफलता पर, wcrtomb () फ़ंक्शन वर्ण सरणी में लिखे गए बाइट्स की संख्या देता है जिसका पहला तत्व s द्वारा इंगित किया गया है।
  • विफलता पर (यानी wc एक वैध विस्तृत वर्ण नहीं है), यह -1 लौटता है, इरिनो EILSEQ पर सेट है और अनिर्दिष्ट स्थिति में * पीएस छोड़ता है।

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

 #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.utf8"); wchar_t str() = L"uu00c6u00f5u01b5"; char s(16); int retVal; mbstate_t ps = mbstate_t(); for (int i=0; i 

When you run the program, the output will be:

 Size of u is 1 bytes Size of Æ is 2 bytes Size of õ is 2 bytes Size of Ƶ is 2 bytes

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