如何在C中打印UTF-16字符?

Edw*_*Lee 5 c utf-16

我有一个包含UTF-16字符的文件.我在文件中读取并可以将字符存储在uint16_t数组或char数组中(更好的选择?)

但是我如何打印这些角色?

Mik*_*ert 4

我假设您想打印到stdout或stderr。一种方法是使用libiconv将 UTF-16 转换为 UTF-32(也称为 UCS-4)为宽字符字符串 ( wchar_t)。然后,您可以使用wprintf和朋友打印到标准流。