C++ - 如何将字符串转换为 wchar_t(西里尔文)

C++ - How to convert String to wchar_t (Cyrillic)

我需要将 string 转换为 wchar_t。我尝试了很多不同的方法,但我一直遇到西里尔文字的问题。使用 wcout 调试时,我总是得到错误的输出,但是当只使用拉丁字符时,没有出现问题。

那么如何将包含西里尔字符的 string 转换为 wchar_t

更新: 我发现了问题,我在使用 wcout 调试时犯了一个错误,我一直在得到错误的输出。但是我手动重新检查了字符代码,它确实是UTF-16。我不知道如何通过 wcout 将正确的输出 UTF-16 输出到控制台,但这对我来说并不那么重要。

首先,您还需要知道该库需要的 wchar_t 大小。在不同的系统上可能是 16 位或 32 位。那你可以用std::wstring_convert::from_bytes. This SO answer也可以对你有用。