Afficher des caractères spéciaux(accents, ...)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 25 878 fois - Téléchargée 29 fois

Contenu du snippet

Bonjours à tous,

Voila j'ai longuement cherché sur ce forum comment afficher en console des caractères diacritiques (é, è, à, ...) grâce à la méthode printf; sans succès.
Si comme moi vous etes tout nouveau en C, C++ ce n'est pas tres evident a trouver.

Enfin bref, pour afficher les caractères accentués (ou n'importes qu'elles autres d'ailleurs), il vous suffit de mettre dans la chaine de caractère '\x' suivi du code hexadécimal du caractère voulu.

EX :
Printf("pr\x8Asentation...");

Ce qui donnera dans la console :
présentation...

Vous pourrez trouver les codes Hexa, ascii, de tout les caractères en "google-isant" :D

Conclusion :


Je sais que pour la plupart d'entre vous, cette astuce est bidon, mais m'étant bien pris la tête à chercher cette information basique, je pense que ça peut aider.

A voir également

Ajouter un commentaire

Commentaires

super astuce, ça fait un moment que je me cassais la tête pour trouver une solution, ça ne marche peut-être pas partout mais je ne code que pour moi alors ça ira très bien!
Merci :)
lahmidi007
Messages postés
2
Date d'inscription
samedi 1 décembre 2012
Statut
Membre
Dernière intervention
1 décembre 2012

pour être plus clair!! pour afficher des caractères spéciaux ou bien accentués il vous faut une table ASCII que vus devez télécharger sur google...voici un lien pour cette tâche:
http://profgeii.free.fr/explorer/ii1/ASCII.pdf***c'est un PDF
puis vous pouviez choisir entre 4 manières différentes pour réaliser ce but:
1)-syntaxe:'\x' suivi du code hexadécimal du caractère voulu(vous allez trouvez ce code hexadécimal sur la table ASCII ).
ex: printf("Pr\x82sentation");..ça affiche présentation là \x82 remplace le caractère non imprimable "é".
2)-la deuxième méthode consiste à représenter le caractère par son code octal(si vous le saviez sinon vous vous contentez de la première méthode)comme suit:"\xxx" où "xxx" est le code octal.
ex:printf("Pr\202sentation");..."\202" représente "é"(202 est le code octal de é).
3)cette méthode utilise aussi le code octal mais précédé d'un tout petit 0 et le caractère est définit en tant qu'un "char".
ex:printf("pr%csentation",0202);
4)vous devez savoir le code décimal du caractère (c'est aussi mentionné sur la table ASCII),cette méthode a le même principe que 3.
ex:printf("pr%csentation",130);...130 est la représentation décimal de é.

un grand merci à tout ceux qui ont participé a cette conversation constructif que j'ai employé pour donner cette modeste réponse que j’espère être utile pour tout les débutants comme moi ;)....

un p'tit merci me fera du b1...a+
lahmidi007
Messages postés
2
Date d'inscription
samedi 1 décembre 2012
Statut
Membre
Dernière intervention
1 décembre 2012

merci c'etait tes utile pour moi!! ;)...chui un debutant :p
gmorris
Messages postés
2
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
18 novembre 2009

Si ca vous embete de taper toujours des \x86 ou des %c, regardez cette fonction qui affiche bien les phrases avec des é, è, ê, etc.
http://www.cppfrance.com/codes/ACCENTS-AIGUS-AUTRES-PONCTUATIONS_50869.aspx
Remi D
Messages postés
3
Date d'inscription
lundi 31 octobre 2005
Statut
Membre
Dernière intervention
12 mai 2007

Cette astuce, ne marche pas sur tout les systèmes, en particulier pour moi, sur une UNIX (solaris) à la compilation, gcc me dit : "hex escape out of range" et me supprime le caractère.

Je pense qu'il s'agit assez simplement qu'il ne gère 'que' l'ASCII 7bit et utilise le bit de parité.

Si quelqu'un peut confirmer...

PS : Je suis désolé de faire remonter un vieux topic, mais étant donnée qu'il arrive en tête des résultats sur google pour le problème des caractères accentués en C, je pensais qu'il valait le coup de le compléter.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.