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

C ++ में mbstowcs () फ़ंक्शन एक मल्टीबीट कैरेक्टर स्ट्रिंग को समतुल्य विस्तृत वर्ण अनुक्रम में परिवर्तित करता है।

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

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

 size_t mbstowcs (wchar_t * dest, const char * src, size_t max);

Mbstowcs () फ़ंक्शन तीन तर्क लेता है और पूर्णांक मान लौटाता है।

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

परिणाम स्मृति स्थान पर नियत स्थान द्वारा संग्रहीत किया जाता है। पैरामीटर अधिकतम को परिवर्तित करने के लिए मल्टीबाइट वर्णों की अधिकतम संख्या का प्रतिनिधित्व करता है।

रूपांतरण तंत्र mbtowc () के समान है, सिवाय इसके कि mbtowc रूपांतरण स्थिति अप्रभावित है। रूपांतरण रुक जाता है यदि:

  • एक अशक्त चरित्र का सामना किया जाता है, जिसे तब परिवर्तित और संग्रहीत किया जाता है।
  • एक अमान्य मल्टीबाइट चरित्र का सामना किया गया है।
  • मल्टीबाइट पात्रों की अधिकतम संख्या को परिवर्तित किया गया है।

mbstowcs () पैरामीटर

  • भाग्य: परिणामी विस्तृत वर्ण सरणी को इंगित करता है।
  • src: मल्टीबाइट चरित्र के पहले तत्व को इंगित करता है जिसे विस्तृत वर्ण में परिवर्तित किया जाता है।
  • अधिकतम: मल्टीबाइट वर्णों की अधिकतम संख्या को परिवर्तित करना।

mbstowcs () वापसी मान

  • यदि रूपांतरण सफल होता है, तो mbstowcs () समाप्ति वर्ण (यानी ' 0') को छोड़कर विस्तृत वर्णों की संख्या देता है जो गंतव्य सरणी पर लिखा जाता है।
  • यदि रूपांतरण के दौरान कोई त्रुटि होती है, तो यह -1 देता है।

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

 #include #include using namespace std; int main() ( char src() = "xc4xe3xbaxc3"; wchar_t dest(10); int num; num = mbstowcs(dest, src, MB_CUR_MAX); cout << "Number of wide character converted = " << num << endl; wcout << "Wide Character String = " << dest << endl; return 0; )

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

 परिवर्तित विस्तृत वर्ण की संख्या = 1 वाइड चरित्र स्ट्रिंग = ─

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