Rechercher : dans
Par :

C: console, affichage des caractères ISO

Dernière réponse le 22 jui 2003 à 19:28:04 P_Phant, le 22 jui 2003 à 15:49:45 
 Signaler ce message aux modérateurs

J'ai un problème stupide.
L'affichage sur console par printf ne correspond pas à la norme ISO-latin-1, du moins chez moi.
par exemple:
printf("é");
Affiche ù
Pas très pratique.
Ppour afficher é il faut que je passe le caractère '\202' alors que le code octal en ISO-latin-1 de é est 351...
J'obtiens le même résultat en compilant avec LCC ou gcc (mingw)
Voilà j'aimerais savoir comment remédier à celà. J'ai essayé des setlocale sans succès.
Au pire je veux bien modifier les chaînes de caractères avant affichage, mais il faudrait pour cela que je connaisse la table de correspondance, et que je sois certains que ce comportement soit le même sur toutes les machines (histoire que ma "traduction" en réglant le problème chez mo, ne le crée pas ailleurs).
Merci

Meilleures réponses pour « C: console, affichage des caractères ISO » dans :
Les files en langage C VoirLes files - Premier Entré Premier Sorti Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la file IV. Opérations sur les files A. Initialisation B. Insertion d'un élément dans la file C. Oter un...
[Bash] La variable d'environnement PATH VoirLa variable d'environnement PATH I. Préambule II. C'est quoi le shell ? III. Définition IV. Séance de dissection V. Ajouter un répertoire à la variable PATH VI. Et puis... I. Préambule Sous les systèmes GNU/Linux qu'on le veuille ou...
Vérifier si un nombre entier est un nombre premier en C VoirDéfinition nombre premier Algorithme 1 : les diviseurs compris entre 2 et N-1 seront testés Algorithme 2 : les diviseurs pairs ne seront pas testés, la recherche se limitant aux diviseurs impairs Algorithme 3 : les diviseurs impairs jusqu'à la...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Caractères spéciaux HTML VoirCodage des caractères spéciaux Le standard HTML demande de respecter le codage des caractères ASCII 7 bits, c'est-à-dire que les caractères accentués ne sont pas autorisés. Il faut pour cela utiliser un codage particulier. Pour...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...

1

kinder.surprise, le 22 jui 2003 à 18:09:47

Y a longtemps j'ai commencé un peu à me former au C et j'ai rencontré le même problème. J'ai posé la question sur fr.comp.lang.c si je me souviens bien et je me suis fait rentrer dans le lard parce que c'était dans la FAQ ou un truc du genre. Donc essaye de dégoter la FAQ de fr.comp.lang.c et ça devrait y être.

sinon, plus simple, tes fichiers .c (euh je sais plus l'extension mais bon tu vois quoi, la source) ouvre-les dans un éditeur de texte qui sache convertir un fichier en OEM-DOS

kinder.surprise,
le maton du matou

Répondre à kinder.surprise

3

 P_Phant, le 22 jui 2003 à 19:28:04

Merci, le coup de l'éditeur texte ça ne marchera pas je pense car le programme fonctionne à l'origine avec une GUI, et accessoirement en mode console maintenant. Comme les messages d'erreurs sont les mêmes, j'aurais un problème. Par contre, j'ai trouvé la fonction CharToOem dans L'api win32 grace à ton coup de pouce, donc en wrappant la fonction printf, je m'en sort à bon compte.

Répondre à P_Phant

2

batmat, le 22 jui 2003 à 18:49:02

Quand tu as trouvé, la réponse m'intéresse (par curiosité)...

Merci d'avance P_Phant

@++

Vous hésitez entre Linux et Windows ?
Vous voulez dépenser du temps ou de l'argent ?

Répondre à batmat