본문 바로가기

운동하는 개발자/c++

CString to char* (UTF8)

728x90

MFC의 CString을 사용하다가 서드파티 라이브러리라던가 Winapi를 사용하며 char*로 변환해야 하는 일들이 있다

이때 한글이 들어가 있다면 (char*)(LPCTSTR) 이런 강제 형변환으론 정상적으로 한글이 전달되지 않는다

대부분의 WinApi나 서드파티 라이브러리들은 UTF8을 지원하기에 이로 변환해줘야 한다
(물론 visual studio에서 디버깅하면 한글이 보이진 않는다)

CString tempPath = L"c:\user\홍길동\temp";
char* transStr = CW2A(tempPath, CP_UTF8);​

 

728x90