Comment imprimer un caractère et sa valeur ASCII équivalente en C?
Ceci affiche toutes les valeurs ASCII:
int main()
{
int i;
i=0;
do
{
printf("%d %c \n",i,i);
i++;
}
while(i<=255);
return 0;
}
et ceci affiche la valeur ASCII pour un caractère donné:
int main()
{
int e;
char ch;
clrscr();
printf("\n Enter a character : ");
scanf("%c",&ch);
e=ch;
printf("\n The ASCII value of the character is : %d",e);
getch();
return 0;
}
Essaye ça:
char c = 'a'; // or whatever your character is
printf("%c %d", c, c);
Le% c est la chaîne de format pour un seul caractère et% d pour un chiffre/entier. En transformant le caractère en entier, vous obtenez la valeur ascii.
Pour imprimer toutes les valeurs ASCII de 0 à 255 en utilisant la boucle while.
#include<stdio.h>
int main(void)
{
int a;
a = 0;
while (a <= 255)
{
printf("%d = %c\n", a, a);
a++;
}
return 0;
}
Rien ne peut être plus simple que cela
#include <stdio.h>
int main()
{
int i;
for( i=0 ; i<=255 ; i++ ) /*ASCII values ranges from 0-255*/
{
printf("ASCII value of character %c = %d\n", i, i);
}
return 0;
}
Source: programme pour imprimer la valeur ASCII de tous les caractères
Les caractères entre guillemets simples ('XXXXXX'), lorsqu'ils sont imprimés sous forme décimale, doivent générer leur valeur ASCII.
int main(){
printf("D\n");
printf("The ASCII of D is %d\n",'D');
return 0;
}
Sortie:
% ./a.out
>> D
>> The ASCII of D is 68
Ceci lit une ligne de texte à partir de l'entrée standard et imprime les caractères de la ligne et leurs codes ASCII:
#include <stdio.h>
void printChars(void)
{
unsigned char line[80+1];
int i;
// Read a text line
if (fgets(line, 80, stdin) == NULL)
return;
// Print the line chars
for (i = 0; line[i] != '\n'; i++)
{
int ch;
ch = line[i];
printf("'%c' %3d 0x%02X\n", ch, ch, (unsigned)ch);
}
}