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

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

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

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

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

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

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

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

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

  • एक अशक्त चरित्र का सामना किया जाता है, जिसे तब परिवर्तित और संग्रहीत किया जाता है।
  • एक wchar_t पाया गया जो वर्तमान सी लोकेल में एक वैध चरित्र के अनुरूप नहीं है।
  • अधिकतम विस्तृत वर्ण परिवर्तित किए गए हैं।

wcstombs () पैरामीटर

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

wcstombs () वापसी मान

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

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

 #include #include using namespace std; int main() ( wchar_t src() = L"Welcome To Programiz.com"; char dest(50); int num; num = wcstombs(dest, src, 50); cout << "Number of wide character converted = " << num << endl; cout << "Multibyte Character String = " << dest << endl; return 0; )

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

 परिवर्तित विस्तृत वर्ण की संख्या = 24 मल्टीबाइट चरित्र स्ट्रिंग = Programiz.com में आपका स्वागत है

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