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

C/C++ में mbrtoc32() फंक्शन उदाहरण सहित

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

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

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

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

सिंटैक्स

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

पैरामीटर्स

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

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

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

यह फंक्शन निम्नलिखित शर्त के अनुसार अलग-अलग मान लौटाता है -

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

उदाहरण

#include 
#include 
#include 
#include 
#include 
using namespace std;
int main(void) {
    char32_t hold;
    char str[] = "I";
    mbstate_t arr{};
    int len;
    // फंक्शन को इनिशियलाइज़ करना
    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 
#include 
#include 
#include 
#include 
using namespace std;
int main(void){
    char32_t hold;
    char str[] = "I";
    mbstate_t arr{};
    int len;
    // फंक्शन को इनिशियलाइज़ करना
    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 में multiset max_size() उदाहरणों के साथ

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

  1. - C/C++ में iswgraph() फंक्शन उदाहरण सहित

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

  1. - C/C++ में mbrtowc() फंक्शन: मल्टीबाइट से वाइड कैरेक्टर रूपांतरण

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