我需要将string转换为wchar_t。我尝试了许多不同的方法,但是我在西里尔文字方面一直遇到问题。当使用wcout进行调试时,我总是得到错误的输出,但是当仅使用拉丁字符时,不会出现任何问题。

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

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

最佳答案

首先,您还需要知道该库所需的wchar_t大小。在不同的系统上可能是16位或32位。然后,您可以使用std::wstring_convert::from_bytesThis SO answer对您也可能有用。

09-25 18:48