इस खंड में हम देखेंगे कि C++ में वाइड कैरेक्टर क्या है। हम उन फ़ंक्शन्स को भी देखेंगे जिनका उपयोग वाइड कैरेक्टर्स को संभालने के लिए किया जाता है।
वाइड कैरेक्टर्स कैरेक्टर डेटाटाइप के समान होते हैं। मुख्य अंतर यह है कि char 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_t n); यह फ़ंक्शन स्रोत के पहले n कैरेक्टर्स को गंतव्य में कॉपी करने के लिए उपयोग किया जाता है। जब स्रोत का अंत n से कम होता है, तो गंतव्य पर कुछ नल कैरेक्टर्स होंगे। |
| wcscmp() | सिंटैक्स है int wcscmp(const wchar_t* wcs1, const wchar_t* wcs2); यह फ़ंक्शन दो वाइड कैरेक्टर स्ट्रिंग्स wcs1 और wcs2 की तुलना करने के लिए उपयोग किया जाता है। यह सामान्य स्ट्रिंग तुलना के लिए strcmp() फ़ंक्शन की तरह है। |
| 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() की तरह है। यह वाइड कैरेक्टर्स का उपयोग करके बनाई गई स्ट्रिंग को टोकनाइज़ करने में मदद करता है। यह स्ट्रिंग को टोकनाइज़ करने के लिए डिलीमीटर लेता है। |