Подтверждено для работы с MSVC ++ 2017 (если вы выбрали правильный шрифт в консоли, он показывает большинство символов, за исключением «лица с раскатистыми глазами» \ U0001F644).
у конвертироватьwstring
вu16string
в C ++.
Я могу конвертироватьwstring
в строку или наоборот. Но я не знаю, как преобразовать вu16string
.
u16string CTextConverter::convertWstring2U16(wstring str)
{
int iSize;
u16string szDest[256] = {};
memset(szDest, 0, 256);
iSize = WideCharToMultiByte(CP_UTF8, NULL, str.c_str(), -1, NULL, 0,0,0);
WideCharToMultiByte(CP_UTF8, NULL, str.c_str(), -1, szDest, iSize,0,0);
u16string s16 = szDest;
return s16;
}
Ошибка в WideCharToMultiByte (CP_UTF8, NULL, str.c_str (), -1, szDest, iSize, 0,0);szDest
, Причинойu16string
не может использовать сLPSTR
.
Как я могу исправить этот код?