본문 바로가기

Programming/C++, MFC

C++, MFC。형 변환(Type Casting) - 문자형 to 문자형

728x90
반응형

1. CString → wchar_t*

 

CString sMessage = _T("TEST");

USES_CONVERSION;
wchar_t *cData = T2W(sMessage);                     // 1
const wchar_t *cData = T2W(sMessage);               // 2
const wchar_t *cData = T2W(sMessage.GetBuffer());   // 3

 

< 형 변환(Type Casting) - 문자열 변환 매크로(USES_CONVERSION) 링크>

[Programming/C++, MFC] - C++, MFC。형 변환(Type Casting) - 문자열 변환 매크로(USES_CONVERSION)

 

2. CString  char*

# 유니코드(Unicode) 기반

 

// CString to char*
CString sTemp1 = _T("한글");
CStringA sTempA(sTemp1);

char *sTemp2 = new char[sTemp1.GetLength()];

strcpy(sTemp2, sTempA.GetBuffer());

// char* to CString
CString sTemp3;
sTemp3 = sTemp2;

 

 

<형 변환(Type Casting) - CString ↔ char* 링크>

[Programming/C++, MFC] - C/C++, MFC。형 변환(Type Casting) - CString to char*, char* to CString

 

3. CString ↔ const char*

# 유니코드(Unicode) 기반

 

// CString to const char*
CString sName1 = _T("Hello");
CStringA sNameA(sName);
const char *str1;
str1 = sNameA;

// const char* to CString
const char *str2 = "Hello";
CString sName2;
sName2 = (CString)str2;

 

 

4. CString  LPWSTR

 

LPWSTR lpwName;
CString sName;

// CString to LPWSTR
lpwName = (LPWSTR)(LPCWSTR)sName;	// 1
lpwName = sName.GetBuffer();		// 2

// LPWSTR to CString
sName.Format(_T("%s"), lpwName);

 

5. CString → std::string

# 멀티바이트(Multibyte) 기반

 

CString sData = "TEST";

std::string strName(sData);
728x90
반응형