Unicode文字列をマルチバイト文字列に変換する。
char* Cxxxx::ConvertFromUnicode(CString pszWchar)
{
int nLen;
char* pszChar;
//charに必要な文字数の取得
nLen = ::WideCharToMultiByte(CP_THREAD_ACP,0,pszWchar,-1,NULL,0,NULL,NULL);
pszChar = new char[nLen];
if(pszChar == NULL)
return NULL;
//変換
nLen = ::WideCharToMultiByte(CP_THREAD_ACP,0,pszWchar,wcslen(pszWchar)+1,pszChar,nLen,NULL,NULL);
if(nLen)
return pszChar;
delete pszChar;
return NULL;
}
char* Cxxxx::ConvertFromUnicode(CString pszWchar)
{
int nLen;
char* pszChar;
//charに必要な文字数の取得
nLen = ::WideCharToMultiByte(CP_THREAD_ACP,0,pszWchar,-1,NULL,0,NULL,NULL);
pszChar = new char[nLen];
if(pszChar == NULL)
return NULL;
//変換
nLen = ::WideCharToMultiByte(CP_THREAD_ACP,0,pszWchar,wcslen(pszWchar)+1,pszChar,nLen,NULL,NULL);
if(nLen)
return pszChar;
delete pszChar;
return NULL;
}
PR
この記事にコメントする