Fonction atoi() [Résolu]

Messages postés
23
Date d'inscription
mercredi 1 octobre 2008
Statut
Membre
Dernière intervention
28 mai 2009
- - Dernière réponse : piche32
Messages postés
23
Date d'inscription
mercredi 1 octobre 2008
Statut
Membre
Dernière intervention
28 mai 2009
- 10 avril 2009 à 10:38
Bonjour,
J'aurais besoin d'une explication sur la fonction atoi().
Je récupere un caractere grâce à un getchar() et j'aimerais avoir la valeur décimal de son code ASCII.

Voici le code que j'ai fais:

char=getchar() //récupération du caractere
int i = atoi( char );

Si, par exemple, mon caractere est 2 (code ASCII 0x32) est que i vaudrat 2 ou 32?

Et si le code ASCII contient une lettre, par exemple 0x6A pour j, que vaudra i?

merci d'avance pour vos réponses.
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
1055
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
7
3
Merci
Salut
Ta fonction atoi retournera 2 pour le carachère ASCII 0x32.
Si tu lui mets une lettre ou un caractère invalide, la fonction retourne 0.

A+

____________________________________________________________________________
Mon site internet :  
http://ImAnalyse.free.fr

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 144 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Pistol_Pete
Messages postés
309
Date d'inscription
jeudi 10 janvier 2008
Statut
Membre
Dernière intervention
27 octobre 2011
3
Merci
1°) Pourquoi t'essaierais pas toi même pour voir ce que ca fait
2°) Ton i n'aura aucune valeur et t'auras certainement une belle erreur car il faut passer un tableau de char à la fonction atoi
3°) La proposition 3

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 144 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_faucheuse
Messages postés
23
Date d'inscription
mercredi 1 octobre 2008
Statut
Membre
Dernière intervention
28 mai 2009
3
Merci
Merci beaucoup pour vos réponses
a+

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 144 internautes nous ont dit merci ce mois-ci

Commenter la réponse de piche32
Messages postés
1055
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
7
3
Merci
Oui bien sure, la fonction atoi() attend une chaine de caractère terminer par un zéro terminale
A+
____________________________________________________________________________
Mon site internet :  
http://ImAnalyse.free.fr

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 144 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Pistol_Pete
Messages postés
23
Date d'inscription
mercredi 1 octobre 2008
Statut
Membre
Dernière intervention
28 mai 2009
3
Merci
C'est quoi que tu appel un zero terminal?
Apres ce que je veux "convertir" il vaut mettre un 0?

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 144 internautes nous ont dit merci ce mois-ci

Commenter la réponse de piche32
Messages postés
1055
Date d'inscription
samedi 2 octobre 2004
Statut
Membre
Dernière intervention
9 juillet 2013
7
3
Merci
Un 0 terminal est un caractère qui permet de savoir si la chaine est fini ou pas. Quand tu fais qqchose comme ça:
strcpy(MaChaine,"Bonjour");
MaChaine[7] = = '\0'  //Fin de chaine
Donc pour ta fonction atoi: si tu fais cela:
atoi('1'), c'est incorrecte car '1' signifie juste le caractère 1 et la fonction atoi va chercher le zero terminale et si tu fais ça: atoi("1") c'est correcte. car "1" signifie la chaine de caractère.
A+
____________________________________________________________________________
Mon site internet :  
http://ImAnalyse.free.fr

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 144 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Pistol_Pete
Messages postés
23
Date d'inscription
mercredi 1 octobre 2008
Statut
Membre
Dernière intervention
28 mai 2009
0
Merci
OK je comprend.
Merci beaucoup a toi pour cette précision.
A+
Commenter la réponse de piche32