.dll 文字列テーブルから utf-8 テストを読みたいと思います。このようなもの
LPWSTR nnW;
LoadStringW(hMod, id, nnW, MAX_PATH);
LPWSTR nnW
その後、 を に変換したいと思いstd::wstring nnWstring
ます。私はこのようにしてみました: LPWSTR nnW; LoadStringW(hMod, id, nnW, MAX_PATH);
const int length = MultiByteToWideChar(CP_UTF8,
0, // no flags required
(LPCSTR)nnW,
-1, // automatically determine length
NULL,
0);
std::wstring nnWstring(length, L'\0');
if (!MultiByteToWideChar(CP_UTF8,
0,
(LPCSTR)nnW,
-1,
&nnWstring[0],
length))
MessageBoxW(NULL, (LPCWSTR)nnWstring.c_str(), L"wstring", MB_OK | MB_ICONERROR);
その後、MessageBoxW には最初の文字のみが表示されます。