begin process at 2012 05 27 04:22:30
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > AFFICHER DES CARACTÈRES SPÉCIAUX(ACCENTS, ...)

AFFICHER DES CARACTÈRES SPÉCIAUX(ACCENTS, ...)


 Information sur la source

Note :
8 / 10 - par 2 personnes
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Classé sous :diacritique, accents, printf, hexadécimale Niveau :Débutant Date de création :03/06/2004 Date de mise à jour :02/03/2011 15:20:19 Vu :17 865

Auteur : capoueidiablo

Ecrire un message privé
Commentaire sur cette source (23)
Ajouter un commentaire et/ou une note

 Description

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.


 Historique

02 mars 2011 15:20:19 :
J'ai juste corrigé les plus grosses fautes d'orthographes, grammaires, conjugaisons, sémantique, tout ça tout ça quoi :p

 Sources de la même categorie

Source avec Zip SCHEDULER RR FIFO par yvesB87
Source avec Zip ALGORITHMES RÉCURSIFS VS ALGORITHMES ITÉRATIFS par yvesB87
Source avec Zip Source avec une capture C++ FORMAT D'IMAGE AVEC QT par pop70
Source avec une capture EXEMPLE DE POINTEURS DE FONCTION par pop70
Source avec Zip Source avec une capture [C++] CLASS REGISTER par Miwik

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture LIBGRAPHC - DESSIN D'UI EN MODE CONSOLE par Nenyan

Commentaires et avis

Commentaire de PiX3L le 03/06/2004 20:05:56

Ou alors sous la forme \xxx où le xxx correspond au code octal du caractère

Commentaire de capoueidiablo le 03/06/2004 23:20:53

[:D] merci pour ta contribution PiX3L
Si tu as d'autres "trucs" hésite pas je suis preneur [:D]

Commentaire de victorcoasne le 04/06/2004 16:43:02

Désolé moi ça m'affiche "prèsentation..." !

Avec dev-C++

Commentaire de victorcoasne le 04/06/2004 16:49:19

Pour Dev-C++ :

ü : \x81
é : \x82
â : \x83
ä : \x84
à : \x85
ç : \x87
ê : \x88
ë : \x89
è : \x8A
ï : \x8B
î : \x8C

Commentaire de capoueidiablo le 07/06/2004 14:48:08

merci pour cette liste victorcoasne [:)]

Commentaire de khayyam le 07/06/2004 17:24:31

je vous propose autre chose :
tout le monde possède une table de codes ascii, alors ...
printf("%c", 130); vous affichera "é"

Commentaire de khayyam le 07/06/2004 17:50:02

juste une petite précision : un code précédé de x n'est pas octal mais hexadécimal. je suis sûr que c'est ce que tu voulais dire.
mais si vous ne connaissez que le code octal, l'affichage se fait en faisant précéder le nombre de 0.
printf("%c", 0100); affichera @ qui est le caractère ascii 64 soit 100 en octal.

Commentaire de pyronet le 07/06/2004 21:26:56

euh... je suis pas trop d'accord avec ce que tu dis la... désolé si je détourne le sujet mais 100 en octal je dirais que ça fait plutôt 4 mais certainement pas 64 ou alors là il me faut des explications (j'en perdrait ma logique ?) Pour moi l'octal sur trois bits permet de représenter des nb décimaux de 0 à 7 donc pour représenter 64 il faudrait quelques bits en plus... et si tu voulait représenter 64 en binaires là c'est 0100 0000. Voila pour ma participation, dis moi si je ne t'ai pas compris Khayyam...

Commentaire de pyronet le 07/06/2004 21:27:01

euh... je suis pas trop d'accord avec ce que tu dis la... désolé si je détourne le sujet mais 100 en octal je dirais que ça fait plutôt 4 mais certainement pas 64 ou alors là il me faut des explications (j'en perdrait ma logique ?) Pour moi l'octal sur trois bits permet de représenter des nb décimaux de 0 à 7 donc pour représenter 64 il faudrait quelques bits en plus... et si tu voulait représenter 64 en binaires là c'est 0100 0000. Voila pour ma participation, dis moi si je ne t'ai pas compris Khayyam...

Commentaire de capoueidiablo le 08/06/2004 10:55:32

Voila plein de Zouli-infos merci tout le monde [:p]
Si des choses n'ont pas encore été dites ...

Commentaire de rogo le 09/06/2004 13:10:25

pyronet,
je crois que tu fais une confusion :
100 en octal fait bien 64 en décimal (1*8^2+0*8+0*1)
64 en hexa fait 100 en décimal (6*16+4*1) soit 144 en octal

Commentaire de pyronet le 10/06/2004 08:25:04

En effet... j'ai ressorti mes cours ça a rafraïchi ma mémoire... désolé pour ceux que j'aurai pu induire en erreur...

Commentaire de cdesroch le 11/11/2004 03:32:14

En fait, tu l'avait calculé en binaire pyronet !! :-)

Commentaire de capoueidiablo le 15/11/2004 22:59:44

heu sinon y'a la calculatrice en mode scientifique ... :p

Commentaire de val3113 le 12/04/2006 16:22:56

Bonjour, tout le monde, j'ai justement besoin de mettre des 'é' dans mes printf et j'avais déja trouvé le \x82, cependant il ne marche pas toujours, pas par exemple pour précédent
-> pr\x82c\x82dent , ca ne marche pas parceque pourle 1er 'é' il ne prend pas comme code 82 mais bien 82c, comment j'pourrais faire ??
merci de votre aide

Commentaire de victorcoasne le 12/04/2006 18:23:43

Si tu veux il faut séparer le 'c' du \x82 et le 'd' car \x82 est un code hexadécimal et que le hexa va de 0 à F en passant par 9 et A.

Commentaire de val3113 le 13/04/2006 19:13:58

C'est bien gentil de me dire ca, mais euh, c'est exactement ce que je dis dans mon message et je demande justement comment séparer le "\x82" du "c" sans modifier mon affichage, donc la ca m'aide pas beaucoup je savais déja ce que tu m'a dit

Commentaire de victorcoasne le 14/04/2006 23:42:36

Au lieu d'un printf t'en fais plusieurs c'est aussi simple que ça :
printf("pr\x82");
printf("c\x82");
pritnf("dent");

En C++ ça donne :
cout << "Pr\x82" << "c\x82" << "dent";

Bonne prog,
@++

Commentaire de capoueidiablo le 15/04/2006 19:01:13

Plus simple:
printf("pr%cc%cdent", 130, 130);

%c indique que l'on va placer un caractère dans la chaine, si on voulais ajouter une chaine de caractère on aurai mis %s, pour un int %d ...

Commentaire de val3113 le 15/04/2006 19:50:55

J'pense que je vais utiliser la 2e solution (la 1re prend trop d'place :) ) merci pour tout, au fait avec %c ce serait quoi pour un 'à' ?

Commentaire de capoueidiablo le 19/04/2006 00:36:39

133 je dirais

Commentaire de Remi D le 29/05/2007 14:15:09

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.  

Commentaire de gmorris le 18/11/2009 23:01:48

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

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

printf en conservant les accents ??? [ par Elffin ] Bonjour,je souhaiterais savoir comment peut-on faire pour afficher du texte à l'écran en concervant les accents ?printf("écran");ne m'affiche pas corr demande de correction de programme [ par gemini010 ] slt a tous, je dois créer un programme avec differente fonctions et structures permettant de gerer des etudiants ( on doit pouvoir ajouter des enregis Programmation graphique... [ par yafuka ] Yafuka ( * _ * ) salut je fais mes premiers pas en programmation graphique. je suis actuellement un tutorial et je n arrive pas a compiler la source regardez ma source HELP [ par asnow ] BonjourJe debute en C. j'ai voulu apprendre à enregistrer des données dans un fichier, ca a donné ce code .Si vous pouviez me donner des recommandatio Aide fichier :) [ par asnow ] Salut a tous :)Voila mon tit code pour ouvrir un fichiervoid Ouverture () {char nomf[20]; printf("Entrez le nom du fichier :"); scanf("%s", nomf programmation joystick [ par MadNomad53 ] J'ai un probleme de linkage avec ce programme:voici le source:#include &lt;windows.h&gt;#include &lt;stdio.h&gt; // pour printf#include &lt;mmsystem.h CORRECTION HELP PLEASE NOOB [ par ziziboss ] #include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;conio.h&gt;int main (){ int nb_alea = 0; int nb_choisi = 0; randomize (); nb_alea = rand conversion de syntaxe en compilateur [ par laulau10 ] int i=1;do printf("coucou");whil(i=1);on peux me dire commen,t convertir ceci pour que ca fonctionne sous dev-c++ void Fa() { asm{ MOV AX,3 INT 0x33 [C] lecture d'un fichier [ par GazGaz ] lu allalors voila en fait je lis un fichier en c et le probleme c'est que ce fichier est composé de lignes dont la taille exècede largement les 80 car Gestion des espaces en C [ par maximax ] Bonjour à tous...je suis nouveau ici et j'ai un pb avec un petit programme tout bête en C...En gros, je veux que l'utilisateur entre les informations


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales