[C] Retourner le symbole d'un code ascii.

cs-bilou Messages postés 836 Statut Membre -  
cs-bilou Messages postés 836 Statut Membre -
Bonjour,
Je suis un débutant un C.
Je suis face a un problème je voudrait renvoyer le caractère d'un code ascii.
Voilà ce que j'ai essayer.
Mais sa renvoie le code :
int main(int argc, char* argv[])
{
     int caractre;
     caractere = getch();
     return caractere;
}

J'ai essayer
return printf("%c", caractere);
Mais sans succès.

Si quelqu'un a une solution je suis preneur !
Merci.

Bilou

4 réponses

fiddy Messages postés 11653 Statut Contributeur 1 847
 
Salut,
Là tu fais plutôt le contraire. En utilisant getchar(), t'es parti pour afficher le code ascii correspondant à un caractère entrée au clavier. Pour afficher le code ascii, l'instruction est : printf("%d",caractere);

Lorsque tu as ton code ascii, pour récupérer le symbole équivalent, utilise :
code=65;
printf("%c",code);


Cdlt
0
cs-bilou Messages postés 836 Statut Membre 164
 
Oui sa je sais aucun problème mais comment le retourner se symbole ?
J'ai déjà essayer:
return printf("%d",caractere);
Mais sa me retourne 1.

Bilou.
0
fiddy Messages postés 11653 Statut Contributeur 1 847
 
T'as pas bien lu mon post ;-).
Je t'ai dit d'utiliser scanf("%c",code);
Cela affichera le symbole (caractère) dont le code ascii est code.

Ou encore mieux, comme cchristian l'a suggéré :
code=getchar();
putchar(code)
;

Evite d'utiliser getch() qui n'est pas une fonction standard.

Cdlt
0
cs-bilou Messages postés 836 Statut Membre 164 > fiddy Messages postés 11653 Statut Contributeur
 
Oui dsl j'ai mit %d au lieu de %c.
0
zavenger Messages postés 817 Statut Membre 161
 
Dire que tu veux retourner le symbole ne veux rien dire au niveau informatique. L'ordi ne connait que des informations numeriques. A toi de savoir que ce qui est retourne par ta fonction est un code ascii et le traiter en tant que tel
0
cchristian Messages postés 928 Statut Membre 131
 
Bonjour,

Essaie avec putchar :
............
{
     int caractere;
     caractere = getch();
     putchar (caractere);
}
............
0