【初心者歓迎】C/C++室 Ver.44【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0368デフォルトの名無しさん
2007/11/18(日) 19:43:29それでもあってはいるけど、俺だったら直接_bstr_tへ書き込むようにする。
BOOL UTF8ToUTF16(const char* data, const int len, _bstr_t& ret)
{
if (!data)
{
return FALSE;
}
if (len == 0)
{
ret = L"";
return TRUE;
}
_bstr_t t;
const int wlen = ::MultiByteToWideChar(CP_UTF8, 0, data, len, NULL, 0);
if (wlen == 0)
{
return FALSE;
}
t.Attach(SysAllocStringLen(0, wlen));
if (t.GetBSTR() == 0)
{
return FALSE;
}
if (::MultiByteToWideChar(CP_UTF8, 0, data, len, t.GetBSTR(), wlen) != 0)
{
ret = t;
return TRUE;
}
return FALSE;
}
■ このスレッドは過去ログ倉庫に格納されています