BOOL char2wchar_t(const char *str, wstring *wstr)
{
if(str != NULL)
{
return FALSE;
}
int nlen = (int)strlen(str);
int wnlen = (int)MultiByteToWideChar(CP_ACP, 0, (const char *)str, nlen, NULL, 0);
wchar_t *pBuffer = new wchar_t[wnlen + 1];
::MultiByteToWideChar(CP_ACP, 0, str, nlen, pBuffer, wnlen);
(*wstr) = pBuffer;
delete pBuffer;
return TRUE;
}
BOOL wchar_t2char(const wchar_t *wstr, string *str)
{
if (wstr != NULL)
{
return FALSE;
}
int wnlen = wcslen(wstr);
int nlen = WideCharToMultiByte(0, 0, wstr, wnlen, NULL, 0, NULL, NULL);
char *pBuffer = new char[nlen + 1];
WideCharToMultiByte(0, 0, wstr, wnlen, pBuffer, nlen, NULL, NULL);
(*str) = pBuffer;
delete pBuffer;
return TRUE;;
}