2011-10-20 47 views
6

'wchar_t *' öğesini 'const char *' konumuna nasıl dönüştürebilirim? C++ MFC VS2010 kullanarak'wchar_t *' öğesini 'const char *' konumuna dönüştürme

.

Teşekkür ederiz.

+1

Eğer MFC ise, gerçekten bir CString'iniz var mı? Eski versiyonlardan biriyim, ama onlar sizin için dönüşüm yapacak olan CString türlerinde LPCSTR için bir cast operatörü kullanıyorlar. Hatta geniş bir dizgeden bir CStringA oluşturabilir ve sizin için dönüştürmesini sağlayabilirsiniz. – Rup

+0

Bu sorunun teknik cevabı, izolasyon açısından nadiren faydalıdır. _Why_ bunu yapman gerekiyor mu? Örneğin. Bir geriçağırım arabiriminden bir işaretçiyi iletmekse, doğrudan bir yayınlama tamam demektir. – MSalters

+0

CHAR Name [256] ile yapıyı doldurmam gerekiyor; ama char * yerine wchar_t * var. – Cynede

cevap

9

MSDN'de wcstombs işlevselliğine bakın. soru MFC hakkında olduğu gibi

6

, şu öneririm:

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

Ben genellikle aşağıdaki dönüşümleri gerekir:

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

CStringW ve CStringA respectivelly operatörler LPCWSTR ve LPCSTR var.

İlgili konular