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

C/C++ में mbrtowc() फंक्शन

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

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

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

सिंटैक्स

size_t mbrtowc( wchar_t* pwc, char* str, size_t n, mbstate_t* ps);

पैरामीटर्स

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

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

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

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

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

उदाहरण

#include 
using namespace std;
void print_(const char* ch){
    mbstate_t temp = mbstate_t();
    int cal = strlen(ch);
    const char* i = ch + cal;
    int total;
    wchar_t con;
    while ((total = mbrtowc(&con, ch, i - ch, &temp)) > 0){
        wcout << "Next " << total << " bytes are the character " << con << '\n';
        ch += total;
    }
}
int main(){
    setlocale(LC_ALL, "en_US.utf8");
    const char* len = u8"z\u00df\u6c34";
    print_(len);
}

आउटपुट

Next 1 bytes are the character z
Next 2 bytes are the character ß
Next 3 bytes are the character 水

उदाहरण

#include 
using namespace std;
void print_(const char* ch){
    mbstate_t temp = mbstate_t();
    int cal = strlen(ch);
    const char* i = ch + cal;
    int total;
    wchar_t con;
    while ((total = mbrtowc(&con, ch, i - ch, &temp)) > 0){
        wcout << "Next " << total << " bytes are the character " << con << '\n';
        ch += total;
    }
}
int main(){
    setlocale(LC_ALL, "en_US.utf8");
    const char* len = u8"\xE2\x88\x83y\xE2\x88\x80x\xC2";
    print_(len);
}

आउटपुट

Next 3 bytes are the character ∃
Next 1 bytes are the character y
Next 3 bytes are the character ∀
Next 1 bytes are the character x
  1. - C/C++ में mbrtoc16() फंक्शन उदाहरण सहित

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

  1. - C/C++ में mbsrtowcs() फंक्शन

    इस लेख में हम C++ STL में std::mbsrtowcs() फंक्शन के कार्य, सिंटैक्स और उदाहरणों पर चर्चा करेंगे। std::mbsrtowcs() क्या है? std::mbsrtowcs() फंक्शन C++ STL में एक इनबिल्ट फंक्शन है, जो हेडर फाइल में परिभाषित है। mbsrtowcs() का अर्थ है कि यह उस नल-टर्मिनेटेड मल्टीबाइट कैरेक्टर स्ट्रिंग को परिवर्तित

  1. C/C++ में System() फंक्शन C/C++ में System() फंक्शन

    दिया गया कार्य C/C++ में system() के कार्य को दिखाना है। system() फंक्शन C/C++ स्टैंडर्ड लाइब्रेरी का एक हिस्सा है। इसका उपयोग उन कमांड्स को पास करने के लिए किया जाता है जिन्हें ऑपरेटिंग सिस्टम के कमांड प्रोसेसर या टर्मिनल में निष्पादित किया जा सकता है, और अंत में कमांड के पूरा होने के बाद लौटाता है