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

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

Mbtwoc () फ़ंक्शन को हेडर फ़ाइल में परिभाषित किया गया है।

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

 int mbtowc (wchar_t * pwc, const char * pmb, size_t max);

Mbtowc () फ़ंक्शन तीन तर्क लेता है और पूर्णांक मान लौटाता है। यह फ़ंक्शन मल्टीबाइट कैरेक्टर को पॉम्ब द्वारा इंगित एक विस्तृत कैरेक्टर (टाइप wchar_t का मान) में कनवर्ट करता है और इसे pwc द्वारा बताए गए मेमोरी लोकेशन पर स्टोर किया जाता है।

अगर पबल एक अशक्त सूचक है, तो mbtowc () के लिए एक कॉल वैश्विक रूपांतरण स्थिति को रीसेट करेगा और निर्धारित करेगा कि शिफ्ट अनुक्रम का उपयोग किया जाता है या नहीं।

mbtowc () पैरामीटर

  • pwc: परिणामी विस्तृत वर्ण को इंगित करता है
  • pmb: मल्टीबाइट कैरेक्टर को पॉइंटर जो कि वाइड कैरेक्टर में बदल जाता है
  • अधिकतम: मल्टीबाइट चरित्र के लिए विचार करने के लिए मटर के बाइट्स में अधिकतम आकार।

mbtowc () वापसी मान

यदि pull शून्य सूचक नहीं है, mbtowc () रिटर्न:

  • बाइट की संख्या जो मल्टीबाइट वर्ण में शामिल हैं, जो पोम द्वारा इंगित की गई हैं।
  • -1 अगर पहली बार बाइट द्वारा इंगित किया गया है तो एक वैध मल्टीबीट चरित्र नहीं बनता है।
  • 0 अगर पॉम टर्मिनेटिंग नल कैरेक्टर की ओर इशारा कर रहा है, तो ' 0'।

यदि पबल एक शून्य सूचक है, तो प्रारंभिक शिफ्ट स्थिति और रिटर्न का प्रतिनिधित्व करने के लिए अपने आंतरिक रूपांतरण स्थिति को रीसेट करता है:

  • 0 यदि वर्तमान मल्टीबाइट एन्कोडिंग राज्य-निर्भर नहीं है (शिफ्ट अनुक्रम का उपयोग नहीं करता है)
  • एक गैर-शून्य मान यदि वर्तमान मल्टीबाइट एन्कोडिंग राज्य-निर्भर है (शिफ्ट अनुक्रम का उपयोग करता है)।

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

 #include #include #include using namespace std; int main() ( char pmb() = "Welcome to Programiz.com"; wchar_t pwc(100); int len, ret_val; /* resets internal conversion state */ mbtowc (NULL, NULL, 0); len = strlen(pmb); ret_val = mbtowc(pwc, pmb, strlen(pmb)); cout << "Return Value = " << ret_val << endl; wcout << "Wide character string: " << pwc; return(0); )

जब आप प्रोग्राम चलाते हैं, तो एक संभावित आउटपुट होगा:

 वापसी मान = 1 वाइड कैरेक्टर स्ट्रिंग: W @

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