इस खंड में हम देखेंगे कि C++ में वाइड कैरेक्टर क्या है। हम कुछ ऐसे फ़ंक्शन भी देखेंगे जिनका उपयोग विस्तृत वर्णों को संभालने के लिए किया जाता है।
वाइड कैरेक्टर कैरेक्टर डेटाटाइप के समान होते हैं। मुख्य अंतर यह है कि थैचर 1-बाइट स्पेस लेता है, लेकिन वाइड कैरेक्टर मेमोरी में स्पेस के 2-बाइट्स (कभी-कभी 4-बाइट्स कंपाइलर के आधार पर) लेता है। 2-बाइट स्पेस वाइड कैरेक्टर के लिए 64K (65536) अलग-अलग कैरेक्टर हो सकते हैं। तो विस्तृत चार यूनिकोड वर्ण धारण कर सकते हैं। यूनिकोड मान अंतरराष्ट्रीय मानक हैं जो किसी भी भाषा के किसी भी वर्ण के लिए वर्णों के लिए फोरएन्कोडिंग की अनुमति देता है।
उदाहरण
#include<iostream> using namespace std; int main() { wchar_t wide_character = L'a'; cout << "The wide character is: " << wide_character << endl; cout << "Wide character size: " <<sizeof(wide_character); }
आउटपुट
The wide character is: 97 Wide character size: 2
हम देख सकते हैं कि वाइड कैरेक्टर बनाने के लिए हमें कैरेक्टर से पहले 'L' जोड़ना होगा। लेकिन वर्ण मान आउटपुट में cout का उपयोग करके प्रदर्शित नहीं होता है। तो व्यापक चार का उपयोग करने के लिए हमें wcout का उपयोग करना होगा, और इनपुट लेने के लिए हमें wcin का उपयोग करना होगा।
हम कुछ विस्तृत वर्ण सरणी बना सकते हैं, और उन्हें स्ट्रिंग के रूप में प्रिंट कर सकते हैं।
उदाहरण
#include<iostream> using namespace std; int main() { char str1[] = "This is character array"; cout << str1 << endl; wchar_t str2 [] = L"This is wide character array"; wcout << str2; }
आउटपुट
This is character array This is wide character array
आइए अब कुछ ऐसे फंक्शन्स देखें जो विस्तृत वर्णों के लिए उपयोग किए जाते हैं।
फ़ंक्शन | विवरण |
---|---|
wcslen() | वाक्यविन्यास size_t wcslen (const wchar_t* wcs) है; इस फ़ंक्शन का उपयोग विस्तृत वर्ण स्ट्रिंग की लंबाई प्राप्त करने के लिए किया जाता है। |
wcscat() | वाक्यविन्यास है:wchar_t *wcscat(wchar_t *strDest, const wchar_t *strSrc);इस फ़ंक्शन का उपयोग स्रोत स्ट्रिंग को गंतव्यस्ट्रिंग के साथ संयोजित करने के लिए किया जाता है। |
wcscpy() | वाक्यविन्यास wchar_t *wcscpy(wchar_t *strDest, const wchar_t *strSrc) है; यह स्रोत स्ट्रिंग को गंतव्य स्ट्रिंग में कॉपी करने में मदद करता है। |
wcsncpy() | वाक्यविन्यास है wchar_t* wcsncpy(wchar_t* dest, const wchar_t* src, size_tn); इस फ़ंक्शन का उपयोग स्रोत के पहले n वर्णों को गंतव्य पर कॉपी करने के लिए किया जाता है। जब अंतिम ओएस स्रोत n से कम होता है, तो गंतव्य पर कुछ शून्य वर्ण होंगे। |
wcscmp() | वाक्यविन्यास int wcscmp(const wchar_t* wcs1, const wchar_t* wcs2) है; इस फ़ंक्शन का उपयोग दो विस्तृत वर्ण स्ट्रिंग्स wcs1 और wcs2 की तुलना करने के लिए किया जाता है। यह सामान्य स्ट्रिंग तुलना के लिए likestrcmp() फ़ंक्शन है। |
wcsstr() | वाक्यविन्यास const wchar_t* wcsstr (const wchar_t* wcs1, const wchar_t*wcs2) है; इस फ़ंक्शन का उपयोग wcs1 में wcs2 की पहली घटना को खोजने के लिए किया जाता है। यदि यह मौजूद नहीं है, तो यह शून्य हो जाता है |
wcstok() | वाक्यविन्यास है wchar_t* wcstok(wchar_t* str, const wchar_t* delim, wchar_t** ptr); यह फ़ंक्शन strtok () की तरह है। यह स्ट्रिंग को टोकनाइज़ करने में मदद करता है जो विस्तृत वर्णों का उपयोग करके बनाई जाती है। स्ट्रिंग को टोकनाइज़ करने के लिए सीमांकक की आवश्यकता होती है। |