2012-03-30 27 views
1

In C, nachdem ich ein neues Gebietsschema mit setlocale(LC_ALL, "Hebrew") eingestellt habe, konnte ich den neuen lokalen Namen (hebrew.Israel.1255) drucken, konnte aber nicht den Zeichensatz des neuen Gebietsschemas verwenden, da printf(%c, 240) '?' anstelle eines Hebräischen Buchstabens (1255 map).Wie drucke ich ein anderes Gebietsschema?

.

Vielen Dank im Voraus!

Antwort

1

Der Formatbezeichner %c gibt immer ein Byte mit dem angegebenen Wert aus. Es hat nichts mit dem Gebietsschema zu tun. Sie sollten etwas wie printf("%lc", 0x05D0); verwenden, das ein breites Zeichen (das in Unicode für alle sinnvollen Implementierungen codiert ist) in der Codierung des aktuellen Gebietsschemas druckt.

+0

Ich versuchte es, aber es druckte immer noch ein '?' – winuall