用printf或者wprint能直接输出UTF8的字符串吗?


在使用printf或者wprintf输出时,可以用%s和%S来输出多字节和宽字符的字符串,但是如果是UTF8的字符串,却需要进行转换到宽字节或者多字节才行,有没有办法不转换直接即可输出?

VC windows

Crying 11 years, 9 months ago

没有~必须转换..不管你用什么方式都要转换成宽字节才行..你可以查看内存...
创建 const char* = "您好" const char* = L"您好"
你会看到在内存中的值是不一样的...因为A跟U码不一样~

我做的方法是用把UTF8的文字以流方式读取到内存中..注意txt文本一定要是UTF8格式的..
然后保存在char 中..通过自定义函数printf(const char ,...)来输入文字的..
希望对你有所帮助~

鞍马源自都 answered 11 years, 9 months ago

Your Answer