我正在使用 GCC。我有一个包含 UTF-8 字符的十六进制值的字符串,如下所示:
char[] str = "4e86"
(这种字符串是从 xml 文件中读出的)。我希望将其转换为包含字符 \u4e86 的 wchar。
我知道我可以直接定义
wchar_t wc = L'\u4e86';
但我想要这样的功能
wchar_t wc = convert(str)
如何?
尝试这个:
char[] str = "4e86";
wchar_t wc = strtol(str, NULL, 16);
(参考:https ://stackoverflow.com/a/10156436/999400 )