Fonction atoi() [Résolu]

piche32 23 Messages postés mercredi 1 octobre 2008Date d'inscription 28 mai 2009 Dernière intervention - 10 avril 2009 à 09:39 - Dernière réponse : piche32 23 Messages postés mercredi 1 octobre 2008Date d'inscription 28 mai 2009 Dernière intervention
- 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 

Votre réponse

7 réponses

Meilleure réponse
Pistol_Pete 1055 Messages postés samedi 2 octobre 2004Date d'inscription 9 juillet 2013 Dernière intervention - 10 avril 2009 à 09:56
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

Merci Pistol_Pete 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de Pistol_Pete
Meilleure réponse
cs_faucheuse 309 Messages postés jeudi 10 janvier 2008Date d'inscription 27 octobre 2011 Dernière intervention - 10 avril 2009 à 09:57
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

Merci cs_faucheuse 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de cs_faucheuse
Meilleure réponse
piche32 23 Messages postés mercredi 1 octobre 2008Date d'inscription 28 mai 2009 Dernière intervention - 10 avril 2009 à 10:01
3
Merci
Merci beaucoup pour vos réponses
a+

Merci piche32 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de piche32
Meilleure réponse
Pistol_Pete 1055 Messages postés samedi 2 octobre 2004Date d'inscription 9 juillet 2013 Dernière intervention - 10 avril 2009 à 10:04
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

Merci Pistol_Pete 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

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

Merci piche32 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de piche32
Meilleure réponse
Pistol_Pete 1055 Messages postés samedi 2 octobre 2004Date d'inscription 9 juillet 2013 Dernière intervention - 10 avril 2009 à 10:30
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

Merci Pistol_Pete 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.