2012-03-30 4 views
1

В C, установив новый язык с setlocale(LC_ALL, "Hebrew"), я мог напечатать новое местное имя (Hebrew.Israel.1255), но не мог понять, как использовать кодировку нового языкового стандарта, поскольку printf(%c, 240) напечатан '?' вместо буквы на иврите (1255 map).Как распечатать другой язык?

.

Заранее благодарен!

ответ

1

Спецификатор формата %c всегда печатает байт с заданным значением. Это не имеет никакого отношения к языку. Вы должны использовать что-то вроде printf("%lc", 0x05D0);, которое будет печатать широкий символ (который кодируется в Unicode во всех нормальных реализациях) в кодировке текущего языка.

+0

Я пробовал, но он все еще печатал '?' – winuall

Смежные вопросы