C++ - Как преобразовать строку в wchar_t (кириллица)
Мне нужно конвертировать string
к wchar_t
, Я перепробовал много разных подходов, но у меня продолжают возникать проблемы с кириллицей. Когда используешь wcout
для отладки я получаю неправильный вывод, но при использовании только латинских символов проблем не возникает.
Так как я могу преобразовать string
содержащие символы кириллицы в wchar_t
?
upd: я нашел проблему, я сделал ошибку при использовании wcout
отлаживать я все время получал неправильный вывод. Но я вручную перепроверил коды символов, и это действительно UTF-16
, Я не знаю, как сделать правильный вывод UTF-16
в консоль wcout
, но это не так важно для меня.
1 ответ
Во-первых, вам также нужно знать размер wchar_t
что требует эта библиотека. Это может быть 16 или 32 бита в разных системах. Тогда вы можете использовать std::wstring_convert::from_bytes
, Этот ТАК ответ также может быть полезен для вас.