2011-10-20 17 views
6

कैसे परिवर्तित करें 'wchar_t *' को 'const char *' में कैसे परिवर्तित किया जा सकता है?'wchar_t *' से 'const char *'

सी ++ एमएफसी वीएस -2010 का उपयोग कर।

धन्यवाद।

+1

यदि यह एमएफसी है, तो क्या आपके पास वास्तव में एक सीएसटींग है? मैं कुछ संस्करणों को पुराना हूं, लेकिन उनके पास सीएसटींग प्रकारों पर एलपीसीस्ट्रेट के लिए कास्ट ऑपरेटर होता है जो आपके लिए रूपांतरण करेगा। आप विस्तृत स्ट्रिंग से केवल CStringA बनाने में सक्षम हो सकते हैं और इसे आपके लिए परिवर्तित कर सकते हैं। – Rup

+0

इस प्रश्न का तकनीकी उत्तर अलगाव में शायद ही कभी उपयोगी है। _Why_ आपको ऐसा करने की ज़रूरत है? जैसे यदि यह कॉलबैक इंटरफ़ेस के माध्यम से पॉइंटर पास करना है, तो सीधा सीधा ठीक है। – MSalters

+0

मुझे CHAR नाम के साथ संरचना भरने की आवश्यकता है [256]; लेकिन मुझे char * के बजाय wchar_t * मिल गया है। – Cynede

उत्तर

9

एमएसडीएन पर wcstombs की कार्यक्षमता को देखें।

6

सवाल MFC के बारे में है के रूप में, मैं निम्नलिखित सुझाव है:

CStringA a = "Test"; 
CStringW w = L"Test"; 
a = CStringA(w); 
w = CStringW(a); 

मैं आम तौर पर निम्न रूपांतरण की जरूरत है:

CString t = _T("Test"); // depends on TCHAR type 
a = CStringA(t); // does not depend on TCHAR type 
w = CStringW(t); 

CStringW और CStringA ऑपरेटरों LPCWSTR और LPCSTR respectivelly है।

संबंधित मुद्दे