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