2009년 10월 28일 수요일

CString => char* CString => WCHAR*

VC++ 2008에서 유니코드 사용을 선택하면

(LPTSTR)(LPCTSTR) 또는 GetBuffer를 이용한 변환 이 않된다.

 

그럴때는

char* 변환

char chrPath[MAX_PATH]

WideCharToMultiByte(CP_ACP, 0, CString, -1, chrPath, sizeof(ch), NULL, NULL );

 

이걸 사용 ^^

 

 

WCHAR* 변환

WCHAR m_wPath[MAX_PATH];
 MultiByteToWideChar( CP_ACP,  0, strFile, int(strlen(strFile) + 1),  m_wPath, sizeof(m_wPath) / sizeof(m_wPath[0] ));

 

또는 : wsprintf(chrPath, L"%s", CString);

 

내용은 찾아보면 다나옴..

댓글 없음:

댓글 쓰기