Cast de char en int

atyassine Messages postés 5 Date d'inscription jeudi 27 novembre 2003 Statut Membre Dernière intervention 5 septembre 2008 - 27 nov. 2003 à 22:54
D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 - 28 nov. 2003 à 18:11
voilà je n'arrive pas à caster un char en int!!!
exemple si le char c est '2' et bien en faisant:
int x= (int) c;
ou int x = c;
x vaudra 50
même avec static_cast ca ne change rien...
je ne comprend pas...

5 réponses

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
27 nov. 2003 à 22:59
Salut,
50 c'est la valeur ASCII de '2'.
Donc pour caster un char en int, tu dois soustraire la valeur ASCII de '0'.

int x = (int) c - '0';
0
atyassine Messages postés 5 Date d'inscription jeudi 27 novembre 2003 Statut Membre Dernière intervention 5 septembre 2008
27 nov. 2003 à 23:03
Merci tu me sauves...
0
D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 1
28 nov. 2003 à 13:16
il existe également la fonction atoi( ) pour convertir un char en int!
et la fonction itoa( ) pour le contraire :)

[DmX]
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
28 nov. 2003 à 13:37
Salut,
itoa et atoi c'est pour les char* (chaine de char terminée par zero), a ne pas confondre avec un cast de char en int.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
D1m3x Messages postés 402 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 21 juillet 2005 1
28 nov. 2003 à 18:11
ah oui c'est vrai, scusez les fautes que je fais :p :)

[DmX]
0
Rejoignez-nous