Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

mbrtoc32() उदाहरण के साथ C/C++ में

इस लेख में हम C++ STL में काम करने, वाक्य रचना और std::mbrtoc32() फ़ंक्शन के उदाहरणों पर चर्चा करेंगे।

std::mbrtoc32() क्या है?

std::mbrtoc32() फ़ंक्शन C++ STL में एक इनबिल्ट फ़ंक्शन है, जिसे हेडर फ़ाइल में परिभाषित किया गया है। इस फ़ंक्शन का उपयोग एक संकीर्ण मल्टीबाइट वर्ण को UTF-32-वर्ण प्रतिनिधित्व में बदलने के लिए किया जाता है।

यदि संबंधित वर्ण सूचक शून्य नहीं है, और अन्य सभी पैरामीटर भी स्वीकार किए जाते हैं तो यह संबंधित 32-बिट वर्ण को रूपांतरित कर देगा।

सिंटैक्स

size_t mbrtoc32( char32_t* pc32, char* str, size_t n, mbstate_t* ps);

पैरामीटर

फ़ंक्शन निम्नलिखित पैरामीटर को स्वीकार करता है -

  • पीसी32 - यह उस स्थान का सूचक है जहां हम आउटपुट को संग्रहित करना चाहते हैं।
  • str - कैरेक्टर स्ट्रिंग जो इनपुट के रूप में प्रयोग की जाती है।
  • n - यह उन बाइट्स की संख्या है जिन्हें चेक किया जाना है।
  • ps - जब हम मल्टीबाइट स्ट्रिंग की व्याख्या कर रहे होते हैं तो यह स्टेट ऑब्जेक्ट का पॉइंटर होता है।

रिटर्न वैल्यू

यह फ़ंक्शन रिटर्न मान निम्न स्थिति के अनुसार भिन्न होता है -

  • 0 - फ़ंक्शन शून्य लौटाएगा जब str में जो वर्ण परिवर्तित किया जाना है वह NULL है।
  • 1…n - मल्टीबाइट कैरेक्टर के बाइट्स की संख्या जो कि कैरेक्टर स्ट्रिंग *str.
  • से कन्वर्ट होते हैं।
  • -3 - यदि कोई सरोगेट जोड़ी है, तो char32_t एक बहु-char32_t से है। इनपुट से कोई बाइट नहीं बनाना है।
  • -2 - अगले n बाइट्स के अपूर्ण होने पर हमें -2 मिलेगा लेकिन अभी तक मान्य मल्टीबाइट कैरेक्टर है।
  • -1 - जब हम एन्कोडिंग त्रुटि का सामना करते हैं तो हमें -1 मिलता है, *pc32 को कुछ भी नहीं लिखा जाता है।

उदाहरण

#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <uchar.h>
#include <wchar.h>
using namespace std;
int main(void) {
   char32_t hold;
   char str[] = "I";
   mbstate_t arr{};
   int len;
   // initializing the function
   len = mbrtoc32(&hold, str, MB_CUR_MAX, &arr);
   if (len < 0) {
      perror("conversion failed");
      exit(-1);
   }
   cout << "String is: " << str << endl;
   cout << "Length is: " << len << endl;
   printf("32-bit character = 0g%02hd\n", hold);
}

आउटपुट

String is: I
Length is: 1
32-bit character = 0g73

उदाहरण

#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <uchar.h>
#include <wchar.h>
using namespace std;
int main(void){
   char32_t hold;
   char str[] = "I";
   mbstate_t arr{};
   int len;
   // initializing the function
   len = mbrtoc32(&hold, str, MB_CUR_MAX, &arr);
   if (len < 0){
      perror("conversion failed");
      exit(-1);
   }
   cout << "String is: " << str << endl;
   cout << "Length is: " << len << endl;
   printf("32-bit character = 0x%08hx\n", hold);
}

आउटपुट

String is: I
Length is: 1
32-bit character = 0x0x000000490

  1. मल्टीसेट मैक्स_साइज () सी ++ एसटीएल में उदाहरणों के साथ

    इस ट्यूटोरियल में, हम C++ STL में मल्टीसेट max_size() को समझने के लिए एक प्रोग्राम पर चर्चा करेंगे। फ़ंक्शन max_size() किसी दिए गए कंटेनर में रखे जा सकने वाले तत्वों की अधिकतम संख्या देता है। उदाहरण #include <bits/stdc++.h> using namespace std; int main(){    multiset<int> s;

  1. iswgraph() सी/सी++ में उदाहरणों के साथ

    इस लेख में हम C++ STL में iswgraph() फंक्शन की कार्यप्रणाली, सिंटैक्स और उदाहरणों पर चर्चा करेंगे। iswgraph() एक फंक्शन है जो हेडर फाइल के अंतर्गत आता है। इस फ़ंक्शन का उपयोग यह जांचने के लिए किया जाता है कि दिए गए विस्तृत वर्ण का कोई चित्रमय प्रतिनिधित्व है या नहीं। फंक्शन isgraph का वाइड कैरेक्ट

  1. mbrtowc () C/C++ में कार्य करता है

    इस mbrtowc () फ़ंक्शन का उपयोग मल्टीबाइट अनुक्रम को विस्तृत वर्ण स्ट्रिंग में बदलने के लिए किया जाता है। यह बाइट में मल्टीबाइट वर्णों की लंबाई देता है। सिंटैक्स नीचे जैसा है। mbrtowc (wchar_t* wc, const char* s, size_t max, mbstate_t* ps) तर्क हैं - wc वह सूचक है जो इंगित करता है कि परिणामी विस्तृ