begin process at 2010 02 10 16:58: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 Niveau :Débutant Date de création :03/06/2004 Vu :12 947

Auteur : capoueidiablo

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

 Description

Bonjours à tous,
Voila j'ai cherché longuement sur ce forum comment afficher les accents (é, è, à, ...) et j'ai eu la déciption de ne pas trouver alors j'ai un peu cherché sur le web et j'ai enfin trouvé.
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é ou n'importe qu'elle autres, il vous suffit de mettre dans la chaine a afficher \x suivi du code hexa de celui ci
EX :
Printf("pr\x8Asentation...");
se qui sera affiché :
présentation

Voila voila si vous avez les msdn il y'a une liste des valeurs hexadecimal de chaque caractère.


 Conclusion

Je sais que pour la plupart d'entre vous vous trouverez cette astuce bidon, mais j'ai été moi meme eu besoin de chercher cela donc si ca peu aider ...


 Sources de la même categorie

SMART POINTEUR À COMPTEUR DE RÉFÉRENCE par nirgal76
POINTEUR INTELLIGENT par snpier wolf
ALIGNER TEXTE CONSOLE par CptPingu
QWERTY - AZERTY AVEC SDL, UNE ALTERNATIVE par Scheb
Source avec Zip Source avec une capture INSERER UNE ANIMATION FLASH (WIN32-DEVCPP) par gagah1

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




Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,437 sec (3)

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