윈도우 MFC 유니코드를 멀티바이트로 변경하는 방법
본문
프로젝트를 진행하다가 보면 업체들과 모듈연동시 문자집합에서
유니코드를 멀티바이트로 변경해야할 경우가 있다.
프로젝트의 문자집합을 멀티바이트로 변경하기는 좀 그럴 때
해당 모듈 연동 부분만 멀티바이트로 변경해서 사용하면 된다.
// 함수 사용
CStringA sz;
CUtilFile::WideCharToMultibyte(str);
// 유니코드를 멀티바이트로 변경하는 함수
CStringA CUtilFile::WideCharToMultibyte(CStringW strTextW)
{
CStringA retval;
char* pszTmp = NULL;
int len = 0;
len = ::WideCharToMultiByte(CP_ACP, 0, strTextW.GetBuffer(), -1, pszTmp, 0, NULL, NULL);
strTextW.ReleaseBuffer();
pszTmp = new char[len+1];
::WideCharToMultiByte(CP_ACP, 0, strTextW.GetBuffer(), -1, pszTmp, len, NULL, NULL);
strTextW.ReleaseBuffer();
retval = pszTmp;
delete [] pszTmp;
return retval;
}
추천0 비추천 0
댓글목록 0
등록된 댓글이 없습니다.