2012-03-30 4 views
1

En C, après avoir défini une nouvelle locale avec setlocale(LC_ALL, "Hebrew"), j'ai pu imprimer le nouveau nom local (Hebrew.Israel.1255), mais n'a pas pu comprendre comment utiliser le jeu de caractères de la nouvelle locale, puisque printf(%c, 240) a imprimé '?' au lieu d'une lettre hébraïque (1255 map).Comment imprimer des paramètres régionaux différents?

.

Merci d'avance!

Répondre

1

Le spécificateur de format %c imprime toujours un octet avec la valeur donnée. Cela n'a rien à voir avec les paramètres régionaux. Vous devez utiliser quelque chose comme printf("%lc", 0x05D0); qui imprimera un caractère large (codé en Unicode sur toutes les implémentations saines) dans l'encodage de l'environnement local.

+0

J'ai essayé, mais il a encore imprimé un '?' – winuall

Questions connexes