2010-01-11 26 views
14

CString'dan std::wstring'a nasıl dönüştürebilirim?CString'i std :: wstdr'e dönüştür

+2

bu bakın: http://stackoverflow.com/questions/258050/how-to-convert-cstring-and-stdstring-stdwstring-to-each-other – codaddict

+1

ve http://stackoverflow.com/questions/859304/convert-cstring-to-const-char –

cevap

22

CStringstd::wstring dönüştürmek için:

CString hi("Hi"); 
std::wstring hi2(hi); 

Ve diğer tarafa gitmek, c_str() kullanın:

std::wstring hi(L"Hi"); 
CString hi2(hi.c_str()); 
1

Bu CString olarak çalışması gerekir operator LPCTSTR() tanımlamıştır:

CString s; 
std::wstring s1 = s; 
1

bu deneyin:

std::wstring strString((LPCTSTR)strCString); 
+4

Bunun için neden bir C döküm kullanın? Bir zamanlar benim bir işçim, bir takımları 4MLoC projesine girmek için gereken platformda çalışmadığı için, açık atmalarını bulmak zorunda olduğu pozisyondaydı. C++ 'nın açıklarını kullanan herkese övgüler yağdırdı (onlar için grep olabilirsiniz) ve tüm C-stili kadroları yasaklamak için çok uğraştılar, çünkü bulmak çok zordu. – sbi