Convertir char en entier en c

Fermé
yuri648 Messages postés 677 Date d'inscription mardi 30 décembre 2008 Statut Membre Dernière intervention 20 mai 2015 - 3 avril 2011 à 15:51
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 - 5 avril 2011 à 19:19
Bonjour,

convertir char t[5] en entier en c, j'ai tenté atoi() mais sa n'a pas marché

merci

1 réponse

Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 54
Modifié par Hxyp le 3/04/2011 à 21:11
Bonjour,
il faut remplir t[5] avec un entier sous forme d'une chaine :
int a; // variable qui récupère 
char t[5]={"123"};//met la chaine "123" dans t 
a=atoi(t);//conversion de la chaine en int
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
3 avril 2011 à 21:29
Pour mettre la chaine 123 dans t, c'est plutôt char t[5]="123"; (sans les accolades). Ou alors il faut mettre caractère par caractère.

Cdlt,
0
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 54
4 avril 2011 à 00:32
On peut le faire aussi sans enfin c'est par habitude que je les mets car si on tombe sur un double tableau :
char a[5][5]={{"abc"},{"def"}};
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
Modifié par fiddy le 4/04/2011 à 19:51
On peut le faire aussi sans enfin c'est par habitude que je les mets car si on tombe sur un double tableau :
char a[5][5]={{"abc"},{"def"}};

Je ne vois pas l'intérêt. Pour les tableaux 2D, je mets simplement : char a[5][5]={"abc","def"};
C'est comme si tu disais pour les int, tu faisais : int a={5}; car pour les tableaux 2D, int a[5]={{5},{2},{3}; (int a=5; et int a[5]={5,2,3}; suffisent).
Enfin, il y a peut-être un détail qui m'échappe ?
0
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 54
5 avril 2011 à 19:19
Hm! non y a aucun détail qui t'échappe je fais la même chose avec les char [][] qu'avec les int [][] :'-) mauvais exemple de ma part en utilisant le type char. Ça n'apporte rien juste que dans un code comme :
int a; // variable qui récupère 
char t[5]={"123"};//met la chaine "123" dans t 
a=atoi(t);//conversion de la chaine en int

je préfère avec les {} je n'en aurait pas mis si ça avait été :
int a; // variable qui récupère 
const char *t="123";//met la chaine "123" dans t 
a=atoi(t);//conversion de la chaine en int

c'est surement une de mes pathologies qui fait surface ahahah
0