इस लेख में हम C++ STL में काम करने, वाक्य रचना और std::mbsrtowcs() फ़ंक्शन के उदाहरणों पर चर्चा करेंगे।
std::mbsrtowcs() क्या है?
std::mbsrtowcs() फ़ंक्शन C++ STL में एक इनबिल्ट फ़ंक्शन है, जिसे
सिंटैक्स
size_t mbsrtowcs( wchar_t* pwc, char** str, size_t n, mbstate_t* ps);
पैरामीटर
फ़ंक्शन निम्नलिखित पैरामीटर को स्वीकार करता है -
- पीडब्ल्यूसी - यह उस स्थान का सूचक है जहां हम चाहते हैं कि आउटपुट संग्रहीत किया जाए।
- str - कैरेक्टर स्ट्रिंग जो इनपुट के रूप में प्रयोग की जाती है।
- n - यह उन बाइट्स की संख्या है जिन्हें चेक किया जाना है।
- ps - जब हम मल्टीबाइट स्ट्रिंग की व्याख्या कर रहे होते हैं तो यह स्टेट ऑब्जेक्ट का पॉइंटर होता है।
रिटर्न वैल्यू
यह फ़ंक्शन रिटर्न मान निम्न स्थिति के अनुसार भिन्न होता है -
- 0 - फ़ंक्शन शून्य लौटाएगा जब str में जो वर्ण परिवर्तित किया जाना है वह NULL है।
- 1…n− अशक्त अंत वाले वर्णों के बाइट्स की संख्या जो स्ट्रिंग *str. में रूपांतरित और संग्रहीत होते हैं।
- -1 - हम इसे तब प्राप्त करते हैं जब रूपांतरण के दौरान त्रुटि होती है, त्रुटि EILSEQ पर सेट होती है।
उदाहरण
#include <bits/stdc++.h> using namespace std; int main(){ setlocale(LC_ALL, "en_US.utf8"); const char* ch = "\u0777\u0755"; wchar_t arr[20]; mbstate_t hold = mbstate_t(); int highest = 10; int val = mbsrtowcs ( arr, &ch, highest, &hold ); wcout << L"Wide characters are: "<< val << endl; wcout << L"Given Wide character is: " << arr << endl; return 0; }
आउटपुट
Wide characters are: 2 Given Wide character is: ݷݕ
उदाहरण
#include <bits/stdc++.h> using namespace std; int main() { setlocale(LC_ALL, "en_US.utf8"); const char* ch = u8"z\u00df\u6c34"; wchar_t arr[20]; mbstate_t hold = mbstate_t(); int highest = 10; int val = mbsrtowcs ( arr, &ch, highest, &hold ); wcout << L"Total Wide characters are: "<< val << endl; wcout << L"Given Wide character is: " << arr << endl; return 0; }
आउटपुट
Total Wide characters are: 3 Given Wide character is: zß水