2010-01-11 3 views
14

Wie kann ich konvertieren von CString zu std::wstring?Convert CString zu Std :: Wstring

CString s; 
std::wstring s1 = s; 
+2

Bitte sehen: http://stackoverflow.com/questions/258050/how-to-convert-cstring-and-stdstring-stdwstring-to-each-other – codaddict

+1

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

Antwort

22

zu konvertieren CString-std::wstring:

1

Dies als CString funktionieren sollte hat operator LPCTSTR() definiert

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

Und gehen in die andere Richtung, Verwenden Sie c_str():

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

Try this:

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

Warum sollte man einen C-Cast verwenden? Ein Mitarbeiter von mir war einmal in der Position, dass er explizite Casts finden musste, da einige von ihnen nicht auf der Plattform arbeiteten, die er brauchte, um ein 4MLoC-Projekt zu portieren. Er lobte jeden, der C++ explizite Casts benutzte (man kann nach ihnen grepen) und kämpfte hart, um alle C-Style Casts zu verbieten, da sie so schwer zu finden waren. – sbi