Conversion de chaine

Résolu/Fermé
viktorfrankestein Messages postés 12 Date d'inscription samedi 16 mai 2015 Statut Membre Dernière intervention 30 août 2016 - 17 mai 2015 à 20:12
viktorfrankestein Messages postés 12 Date d'inscription samedi 16 mai 2015 Statut Membre Dernière intervention 30 août 2016 - 18 mai 2015 à 10:36
Bonjour,
s'il vous plait comment passer par exemple de la chaine de caractère "1253" à l'entier 1253. donc par exemple si "1253" est un tableau de caractère et on veut mettre celà dans un tableau d'entier où 1 est dans la premiere case et 2 dans la deuxiéme case ainsi de suite. merci
A voir également:

3 réponses

kharchafi Messages postés 9 Date d'inscription jeudi 14 mai 2015 Statut Membre Dernière intervention 18 mai 2015
17 mai 2015 à 22:58
Bonsoir,

Voilà le code :

#include<stdio.h>

void main()
{
char str[]="12345";
int tab[20], i,j;

for(i=0; str[i]!='\0'; i++)
tab[i]=str[i]-'0';

for(j=0; j<i; j++)
printf("%d\t", tab[j]);
}
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331
Modifié par NHenry le 17/05/2015 à 23:18
Il n'y a pas une fonction du genre atoi ?

ça retourne un entier, mais ça se fait aussi (avec un peu de math)
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835 > NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024
17 mai 2015 à 23:34
Il y a strtol(). atoi() est obsolète.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
17 mai 2015 à 23:37
Le bon prototype est : int main(void).
Et il ne faut pas oublier : return 0;
Il ne faut pas non plus oublier de mettre un petit '\n' avant le return 0; final pour forcer l'affichage.
Pour plus de lisibilité, il vaudrait mieux mettre une variable pour indiquer le nombre d'éléments de tab. Vu que c'est la même que str, tu peux mettre simplement : sizeof str.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
17 mai 2015 à 23:34
Bonjour,

Il y a la fonction strtol().
Je te laisse regarder le manuel. Si tu as des questions, n'hésite pas.

Cdlt,
0
Bonsoir,
M. viktorfrankestein ne demande pas de convertir une chaine en int ou long mais chaque caractère en entier puis le stocker dans un élément du tableau.
0
viktorfrankestein Messages postés 12 Date d'inscription samedi 16 mai 2015 Statut Membre Dernière intervention 30 août 2016
18 mai 2015 à 10:36
ok merci kharchafi ta réponse me convient parfaitement. merci
0