2012-03-30 92 views
1

在C中,在设置了新的语言环境setlocale(LC_ALL, "Hebrew")后,我可以打印新的本地名称(Hebrew.Israel.1255),但无法计算如何使用新语言环境的字符集,因为printf(%c, 240)打印出'?'而不是一个希伯来文字母(1255 map)。如何打印不同的区域设置?

在此先感谢!

回答

1

%c格式说明符总是打印一个具有给定值的字节。它与语言环境无关。你应该使用类似printf("%lc", 0x05D0);的东西,它将在当前语言环境的编码中打印一个宽字符(在所有相同的实现中以Unicode编码)。

+0

我试过了,但它仍然打印出'?' – winuall 2012-03-31 18:27:09

相关问题