क्या WCHAR
और wchar_t
के बीच कोई व्यावहारिक अंतर है?'WCHAR' और 'wchar_t' के बीच क्या अंतर है?
उत्तर
अच्छा, एक व्यावहारिक अंतर यह होगा कि WCHAR
मेरे प्लेटफ़ॉर्म पर मौजूद नहीं है। केवल विंडोज़ के लिए (और प्रोग्राम को किसी अन्य प्लेटफ़ॉर्म पर पोर्ट करने का कोई इरादा नहीं है) और आवश्यक शीर्षलेखों के साथ, यह वही है (WCHAR
केवल typedef
है)।
व्यावहारिक रूप से बोलने में बहुत अंतर नहीं है। वे दोनों एक ही अंतर्निहित प्रकार का प्रतिनिधित्व करते हैं। एक 2 बाइट चौड़ाई मूल्य।
LibT शीघ्र ही पर होगा आप विभिन्न प्लेटफार्मों एक सी ++ मानक :)
wchar_t
अलग प्रकार, सी ++ मानक द्वारा परिभाषित है के बीच असली पागल मतभेद देने के लिए।
WCHAR
गैर मानक है, और जहां तक मुझे पता है, केवल विंडोज़ पर मौजूद है। हालांकि, यह wchar_t
के लिए बस typedef
(या संभवतः एक मैक्रो) है, इसलिए यह कोई व्यावहारिक अंतर नहीं बनाता है। MSVC की
पुराने संस्करण wchar_t
के रूप में नहीं था एक प्रथम श्रेणी प्रकार- बजाय यह बस एक typedef
short
लिए किया गया था सबसे अधिक संभावना, माइक्रोसॉफ्ट शुरू की WCHAR
किसी भी संकलक संस्करण भर में एक "विस्तृत चरित्र प्रकार" का प्रतिनिधित्व करने, wchar_t
मूल प्रकार के रूप में मौजूद था या नहीं।
हालांकि आपको अपने कोड में wchar_t
का उपयोग करना चाहिए। यही वह है।
क्या कोई जानता है कि WCHAR
कितना पुराना है? मुझे लगता है कि यह कम से कम विंडोज एनटी 3.1 की तारीख है। मैं अनुमान लगाता हूं कि जब माइक्रोसॉफ्ट ने विंडोज हेडर में WCHAR
का उपयोग शुरू किया, तो wchar_t
या तो सी या सी ++ मानक में परिभाषित नहीं किया गया था। कृपया मुझे सुधारें अगर मैं गलत हूं।
माइक्रोसॉफ्ट घोषणाओं और शीर्षकों का समर्थन करने की अपरिहार्य स्थिति में है कि ए) सी और सी ++ में काम करना चाहिए; बी) बहुत अलग आर्किटेक्चर (i86, एमआईपीएस, पावरपीसी, अल्फा, ...) के तहत संकलित करें और सी) 15+ वर्ष पुराने कंपाइलर्स के लिए लिखे गए स्रोत कोड के साथ पीछे-संगत होना चाहिए। इसके अलावा, पिछले दो दशकों में प्रकाशित किसी भी ब्रेकिंग चेंज और हजारों किताबें, संदर्भ मैनुअल, ऑनलाइन दस्तावेज इत्यादि अचानक अचानक गलत हो जाएंगी।
WCHAR
एक इंटरफेस है-एक बार प्रकाशित होने के बाद इसे पत्थर में लिखा गया था, भले ही इसे नए कोड के लिए जरूरी न हो।
typedef wchar_t WCHAR; // शौचालय, 16-बिट यूनिकोड चरित्र
इस winnt.h.So में परिभाषित किया गया है मूल रूप से यह wchar_t WCHAR है.आप wcscat इस्तेमाल किया जा सकता है कि यह करने के लिए abbrivation है, दोनों
- 1. इसे 'wchar_t' क्यों कहा जाता है और न केवल 'wchar'?
- 2. ग्लिब गनिचार और wchar_t के बीच क्या अंतर है और जो क्रॉस-प्लेटफ़ॉर्म समाधानों के लिए बेहतर है?
- 3. # {} $ {} और% {} के बीच क्या अंतर है?
- 4. [अपरिभाषित] और [,] के बीच क्या अंतर है?
- 5. $ और $$ के बीच क्या अंतर है?
- 6. के बीच क्या अंतर है:। और: आर !?
- 7. भिन्नता और '-' के बीच क्या अंतर है?
- 8. "$^एन" और "$ +" के बीच क्या अंतर है?
- 9. क्या char_ wchar_t के बीच अंतर करने के लिए type_traits का उपयोग करना संभव है?
- 10. के बीच क्या अंतर है?
- 11. अंतर और कहां के बीच क्या अंतर है?
- 12. file_get_contents और fread बीच क्या अंतर है
- 13. क्या बीच का अंतर है :: और ::: स्काला
- 14. "। +" और "। +?" के बीच अंतर
- 15. $ {} और # {} के बीच अंतर क्या हैं?
- 16. क्या asprintf के लिए wchar_t संस्करण है?
- 17. PHP के बीच क्या अंतर है और इसमें शामिल है?
- 18. अपवाद के .TOString() और मैसेज के बीच क्या अंतर है?
- 19. 7zip के 7z.sfx और 7zsd.sfx के बीच क्या अंतर है?
- 20. डीएल के फाइलवर्सन और उत्पादवर्जन के बीच क्या अंतर है?
- 21. UIImageView के फ्रेम और सीमाओं के बीच क्या अंतर है?
- 22. फ़ायरबग के console.log() और console.debug() के बीच क्या अंतर है?
- 23. पैरामीटर परिभाषाओं के बीच अंतर (प्रकार और नाम), और (प्रकार * नाम) के बीच अंतर क्या हैं?
- 24. ओरिएंटब संस्करणों के बीच क्या अंतर है?
- 25. एन्कोड/डीकोड के बीच क्या अंतर है?
- 26. os.popen() विधियों के बीच क्या अंतर है?
- 27. MATLAB में & &&& के बीच क्या अंतर है?
- 28. ऑब्जेक्ट और * के बीच अंतर?
- 29. इन कार्यों के बीच क्या अंतर है?
- 30. applicationDidReceiveMemoryWarning, didReceiveMemoryWarning के बीच क्या अंतर है?
के लिए wcslen आदि कार्यों पर ध्यान देना यह महत्वपूर्ण है यह केवल विंडोज़ पर मान्य है। WCHAR एक विंडोज-विशिष्ट टाइपिफ़ है (या यह # परिभाषित है?), और आकार (wchar_t) प्लेटफॉर्म पर निर्भर करता है। लिनक्स (और, आईआईआरसी, सोलारिस) पर, उदाहरण के लिए, यह 4 बाइट्स है। –