web-dev-qa-db-fra.com

Impression des caractères et de leur code ASCII en C

Comment imprimer un caractère et sa valeur ASCII équivalente en C?

24
Chris_45

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;
}
32
ennuikiller

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.

4
MBillock

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;
}
1
Sudeep Acharya

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

0
Pankaj Prakash

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
0
syamantak82

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);
    }
}
0
David R Tribble