Salut, je voudrai savoir comment on obtient l'equivalent d'un charactère en entier dans la table ASCII et inversement avec le langage "C".Merci d'avance.
Salut, je voudrai savoir comment on obtient l'equivalent d'un charactère en entier dans la table ASCII et inversement avec le langage "C".Merci d'avance.
Bonjour,
Le type char est en soi un entier signé. Tu peux donc directement le manipuler comme tel. Si tu veux utiliser un int ordinaire, il te suffit de faire un transtypage :
Code : Sélectionner tout - Visualiser dans une fenêtre à part int i = (int)'A';
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part a & 0xF7
Si je me souviens bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part a & 0xFF
Ou sinon tu peux te renseigner au niveau des fonction atoi et atol de string.h![]()
Ou sinon tu peux te renseigner au niveau des fonction atoi et atol de string.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 #define c2d(c) (tolower(c) - 'a') #define d2c(d) ((d) + '0')
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
De toutes façons lorsque tu entre un caractère dans une variable de type 'char' il faut se mettre en tête que tu peux la manipuler comme bon te semble.
Tu pourrais très bien envisager quelque chose du genre :
Ce qui te donnerais lors de l'exécution quelque chose du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 char monCaractere; monCaractere='a'; printf("Le caractère, lui même, est %c\n",monCaractere); printf("Le caractère, EN VALEUR, est %d, ou 0x%.2x",monCaractere, monCaractere);
Le caractère, lui même, est a
Le caractère, EN VALEUR, est 97, ou 0x61
Le fait que tu utilises le type CHAR ne te force pas a utiliser des CARACTÈRES !
Beaucoup de personnes le croit mais ce n'est pas le cas.
Après tout au vu de la table ASCII n'importe quel caractère est une valeur DÉCIMALE !!
Ha oui et tu pourrais donc très bien voir l'inverse comme suit :
Qui t'afficherais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 printf("Le caractère correspondant à 0x61 est %c",0x61);
Le caractère correspondant à 0x61 est a
Bonne chance![]()
Partager