2009/03/05
UTF8 문자열을 std::string 이나 CString 으로 변환하기
다국어 프로그래밍에서 RapidXML 을 이용하다가 필요하여 만들어 본 문자열 변환 함수 이다.
////////////////////////////////////////////////////////////////
// UTF8 문자열은 std::string 으로 변환하기
void CMultiLang::UTF82A( IN const char* utf8, OUT string& ansi )
{
int length = MultiByteToWideChar( CP_UTF8, 0, utf8, (int)strlen(utf8) + 1, NULL, NULL );
wchar_t* pBuf = new wchar_t[ length + 1 ];
MultiByteToWideChar( CP_UTF8, 0, utf8, (int)strlen(utf8) + 1, pBuf, length );
pBuf[length] = 0;
ansi = CStringA( pBuf );
delete [] pBuf;
}
////////////////////////////////////////////////////////////////
// UTF8 문자열은 CString 으로 변환하기
void CMultiLang::UTF82T( IN const char* utf8, OUT CString& out )
{
int length = MultiByteToWideChar( CP_UTF8, 0, utf8, (int)strlen(utf8) + 1, NULL, NULL );
wchar_t* pBuf = new wchar_t[ length + 1 ];
MultiByteToWideChar( CP_UTF8, 0, utf8, (int)strlen(utf8) + 1, pBuf, length );
pBuf[length] = 0;
out = CString( pBuf );
delete [] pBuf;
}
Original Post : http://neodreamer-dev.tistory.com/264
Labels:
C++
,
CP_UTF8
,
CString
,
MFC
,
MultiByteToWideChar
,
std::string
,
TistoryOldPost
,
UTF8
,
Visual C++
Subscribe to:
Post Comments
(
Atom
)
No comments :
Post a Comment