본문 바로가기
programing

Type Casting : CString <=> std::string <=> std:wstring 상호변환

by RedWiz 2014. 10. 20.

ANSI <=> UNICODE 변환함수 : A(Ansi), T(Unicode)

ANSI => UNICODE : CA2CT( [ANSI 문자열] )

UNICODE => ANSI : CT2CA( [UNICODE 문자열] )

 

std::string =>str.c_str()

CString =>str.operator LPCWSTR()


CString cstr = _T("CString문자열");
std::string str = "string문자열";
std::wstring wstr = L"wstring문자열";

CString cstr2;
std::string str2;
std::wstring wstr2;

//string => CString 으로 변환
cstr2 = CA2CT(str.c_str());
MessageBox(cstr2.GetBuffer(0), _T("string => CString"), MB_OK);

//wstring => CString 으로 변환
cstr2 = wstr.c_str();
MessageBox(cstr2.GetBuffer(0), _T("wstring => CString"), MB_OK);

//CString => string 으로 변환
str = CT2CA(cstr.operator LPCWSTR());
MessageBox(CA2CT(str.c_str()), _T("CString => string"), MB_OK);

//wstring => string 으로 변환
str = CT2CA(wstr.c_str());
MessageBox(CA2CT(str.c_str()), _T("wstring => string"), MB_OK);

//CString => wstring
wstr = cstr.operator LPCWSTR();
MessageBox(wstr.c_str(), _T("CString => wstring"), MB_OK);

//string => wstring
wstr = CA2CT(str.c_str());
MessageBox(wstr.c_str(), _T("string => wstring"), MB_OK);

'programing' 카테고리의 다른 글

비동기 + IOCP + 파일 출력 작업  (0) 2017.03.06
문자열 Set  (0) 2015.07.03
문자열 변환  (0) 2015.05.08