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也可以对你有用。
我需要将 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也可以对你有用。