c·c++

std::string CString 변환.

toyship 2014. 9. 22. 21:02
반응형

원본

 

http://plming.tistory.com/63

 

 

 

 

CString <=> std::string <=> std:wstring 상호변환
확실히 이해하고 암기하자!!
ANSI <=> UNICODE 변환함수 : A(Ansi), T(Unicode)

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

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

 객체에서 원시 Buffer 구하기

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);

반응형

'c·c++' 카테고리의 다른 글

const function에서 멤버변수 수정하기  (0) 2015.03.10
QT 라이센스  (0) 2014.07.09
NMAKE : fatal error U1077: '"path\cl.exe"' : return code '0xc0000135'   (0) 2014.06.18
Opensource thread library  (0) 2014.05.08
Makefile 기초  (0) 2014.03.18