conversion int->char

conversion int->char - Programmation

Marsh Posté le 03-08-2001 à 19:17:46    

j'ai un tableau de int (chaque int allant de 0 à 255) et pour chacun de ces int je souhaiterai obtenir le char ascii correspondant.  
 
Ex pour int 65 j'aimerai obtenir char A...
 
Au fait, tout ceci en C++ ;)

Reply

Marsh Posté le 03-08-2001 à 19:17:46   

Reply

Marsh Posté le 03-08-2001 à 19:38:10    

Si je me rappelle bien, c la fonction char(n) tt simplement, avec n ton chiffre.

Reply

Marsh Posté le 03-08-2001 à 20:04:40    

c'est vrai, ca marche mais cependant ca ne fonctionne pas pour tous les caractères ASCII!!!
En effet, par exemple, qd on fait char a(216) on obtient alors Ø comme prévu.
Mais si on fait int b=a, alors on obtient b=-40!!!! Il n'y a donc pas de bijection ce qui est problématique quand on on doit faire la conversion int->char puis char->int, sans qu'il y ait corruption des données...
 
Comment faire??

Reply

Marsh Posté le 03-08-2001 à 22:18:10    

je comprend pas ta question ...
 
char lettre_A = 65;
 
est identique a  
 
char lettre_A = 'A';
 
ensuite ton probleme de
 
char a=216;
int b=a; et b=-40
 
vient du fait que tu travail en nombre signé
en clair ton char va de 0 à 128, puis c'est -127,-126,-125 ...
donc ton 216 est en fait considere comme un -40
 
la solution est tres simple
 
unsigned char a;
 
a la place de ton  
 
char a;
 
la conversion int -> char est, elle, imédiate


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed