Se connecter / S'enregistrer
Votre question

probleme de caracteres speciaux en c/c++

Tags :
  • Bloc note
  • Programmation
Dernière réponse : dans Programmation
13 Novembre 2005 01:23:51

Voila ma ligne qui me pose probleme:

printf(" 1_D\x82but\n 0_Fin\n\n Choix: ");

au debugage
error C2022: '2091' : too big for character

\x82 c'est pour afficher "é" et a cette ligne là le code hexa me pose probleme alors que je l'ai mis dans d'autre printf(); ou puts();

si quelqu'un peut resoudre ce probleme ( si c'est possible :-? )

Autres pages sur : probleme caracteres speciaux

13 Novembre 2005 10:53:52

Ce qui me parait logique, c'est que \x82b c'est aussi un nombre en hexa, qui vaut 2091 précisément.

  1. printf(" 1_D\130but\n 0_Fin\n\n Choix: ");
a b L Programmation
13 Novembre 2005 19:52:26

Effectivement le b suivant est reconnu comme un caractère hexadécimal.
Pour garder l'écriture en hexail suffit d'utiliser la concaténation de chaines de caractères:

printf(" 1_D""\x82""but\n 0_Fin\n\n Choix: ");

Comme c'est le compilateur qui concatène les chaines, ça ne change rien ;-)
Contenus similaires
13 Novembre 2005 23:25:10

le \130 était une solution élégante, je trouvais :D 
a b L Programmation
14 Novembre 2005 13:04:07

Citation :

bluedylc a écrit :
le \130 était une solution élégante, je trouvais :D 

Ouais ça fait moins de caractères.
J'indiquais l'autre solution au cas où il voulait absolument garder de l'hexa.
Sinon 82h en octal ça fait 202o pas 130o ;-)

Sinon on peux lancer EDIT sous DOS taper "é" enregistrer dans un fichier, puis vourir avec le bloc-note sous windows et copier le caractère "‚" (qui ressemble à une virgule dans ce cas mais qui n'en est pas une).

15 Novembre 2005 21:49:13

x82 ca fait 130, j'en suis _sur_ :p 
En effet 8*16 + 2 = 128 + 2 = 130.
a b L Programmation
15 Novembre 2005 22:44:19

130 c'est la valeur décimale, avec le \ suivit de 3 chiffres dans une chaine en C c'est de l'octal pas du décimal.
202o = 2*8² + 2 = 130 ;-)

25 Novembre 2005 23:23:12

Meci bluedylc...
J'ai pas su repondre plus tôt...

mais au fait \130 ne fonctionne pas non plus ca affiche X
Enfin merci qd meme :-)
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS