如何printf不同的区域设置?

时间:2012-03-30 14:39:24

标签: c printf setlocale windows-1255

在C中,在设置了setlocale(LC_ALL, "Hebrew")的新语言环境后,我可以打印新的本地名称(Hebrew.Israel.1255),但无法确定如何使用新语言环境的字符集,因为{{1打印'?'而不是希伯来字母(1255 map)。

提前致谢!

1 个答案:

答案 0 :(得分:1)

%c格式说明符始终打印具有给定值的字节。它与语言环境无关。您应该使用类似printf("%lc", 0x05D0);的内容,它将在当前语言环境的编码中打印宽字符(在所有合理的实现中以Unicode编码)。