Conversion de chaine

Résolu
viktorfrankestein Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
viktorfrankestein Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention  
 
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 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
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   Statut Contributeur Dernière intervention   1 846 > NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention  
 
Il y a strtol(). atoi() est obsolète.
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
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   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

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

Cdlt,
0
kharchafi
 
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   Statut Membre Dernière intervention  
 
ok merci kharchafi ta réponse me convient parfaitement. merci
0