简单问题,如何用char16_t来保存一个汉字,并输出它到屏幕?
简单问题,如何用char16_t来保存一个汉字,并输出它到屏幕?
好像很复杂,
[解决办法]
不行了,目前只是有一个数据类型。但是相关的库没有跟上。Windows里wchar_t倒是UTF-16的没错,但是Linux下wchar_t对应的是UTF-8。你直接用肯定转换不了,wcout估计也不认识,只当成整数了。你必须等到有char16_t接口的库函数才行。wchar_t和char16_t之间赋值,以C/C++的一贯风格,编译器是不可能为你加入字符转换代码的,因为具体的转换方法和平台有关。不过char16_t和char32_t真的只建议用来处理文件和内存中的字符串,就不要打印出来或调用API了,倒是要自己转换成wchar_t。