Convertir en entier en caractère en C
Par Henri Bauer le mercredi 15 février 2012, 22:36 - C/C++ - Lien permanent
En jouant sur la perméabilité entre un char
et un int
.
Soit n
une variable de type int
qui contient un entier compris entre 0 et 9. On peut l'afficher comme un caractère avec une méthode comme putchar
(disponible dans la bibliothèque <stdio.h>
) de la manière suivante :
putchar('0' + n);
Ceci est possible car la fonction putchar
attend un entier : le code ASCII du caractère à afficher. Le caractère '0'
est donc vu comme un entier sa valeur est son code ASCII (0x30=48).
Les autres caractères sont placés à la suite dans la table ASCII. On obtient donc leur code en ajoutant le nombre voulu au code de '0'
.