पर कोई मान कैसे असाइन करें मेरे पास मेरे C++ कोड में TCHAR
सरणी है जो मैं इसे स्थिर स्ट्रिंग असाइन करना चाहता हूं।एक TCHAR सरणी
मैं
के माध्यम से इसे करने के लिए एक प्रारंभिक स्ट्रिंग सेटTCHAR myVariable[260] = TEXT("initial value");
सब कुछ इस पर ठीक काम करता है। हालांकि, जब मैं इसे दो पंक्तियों में
TCHAR myVariable[260];
myVariable = TEXT("initial value");
यह कीड़े के रूप में विभाजित है और एक संकलक त्रुटि देता है:
error C2440: '=': cannot convert from 'const char [14]' to 'TCHAR [260]'
नहीं TEXT()
समारोह है कि वास्तव में क्या मैं यहाँ चाहते हैं चाहिए? दिए गए स्ट्रिंग को TCHAR
एस में कनवर्ट करें? दो लाइनों को एक साथ रखकर, यह क्यों काम करता है? इसे काम करने के लिए मुझे क्या बदलना है?
कुछ अन्य भ्रामक बात मैं सामना करना पड़ा:
मैं इसके लिए इंटरनेट खोज की है और देखा है वहाँ भी कर रहे हैं कि _T()
और _TEXT()
और __T()
और __TEXT()
। यह किस लिए हैं? मुझे किस पर्यावरण में उपयोग करना चाहिए?
+1 avakar के लिए +1। एक साइड नोट पर, अपनी परियोजना सेटिंग्स (यूनिकोड/ASCII) के आधार पर, WCHAR या char के बजाय TCHAR का उपयोग करें, टीसीएचएआर मैक्रो को WCHAR/char के रूप में परिभाषित किया जाएगा। और इसी तरह _tcscpy_s, _tcscat_s, आदि जैसे _t आधारित सुरक्षित फ़ंक्शंस का उपयोग करें जिन्हें आपके प्रोजेक्ट के आधार पर फिर से परिभाषित किया जाएगा। wcscpy या strcpy के रूप में सेटिंग्स। मेरा 2 सेंट। – legends2k
मैंने यह कोशिश की, यह त्रुटि मिली: त्रुटि C2664: 'wcscpy': 'const char [8]' से 'const wchar_t *' –
@ user396483 से पैरामीटर 2 को परिवर्तित नहीं कर सकता, क्या प्रयास किया? आप स्पष्ट रूप से str, _tcs और wcs संस्करणों को एक साथ मिश्रित कर रहे हैं। – avakar