Bonjour à tous !
Mon problème est tout ce qu'il y a de plus simple et pourtant il me pose bien des soucis.
Je dispose d'un tableau de int et d'un tableau de char :
int chiffres[10] = {0};
char lettres[10] = "4850301937";
Ce que je veux c'est remplir le tableau chiffres de telle façon à ce que j'ai :
chiffres[0] --> 4
chiffres[1] --> 8
chiffres[2] --> 5
chiffres[3] --> 0
chiffres[4] --> 3
chiffres[5] --> 0
chiffres[6] --> 1
chiffres[7] --> 9
chiffres[8] --> 3
chiffres[9] --> 7
J'insiste bien sur le fait que lettres est de type char et que chiffres est de type int.
La logique serait donc de faire un boucle ainsi :
Ce que je cherche c'est donc cette fameuse fonction de conversion qui me permet de transformer un char en int.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for(i = 0; i < 10; i++) { chiffres[i] = fonction_de_conversion(lettres[i]); }
Chiffres et Lettres contiennent tous les deux la même chose mais pas sous le même type !
J'ai déjà essayé atoi(), strtol(), sscanf() mais aucuns ne fonctionnent.
Voici tout de même mes codes pour atoi() et sscanf() (strtol est comme atoi en plus "sécurisé") :
ATOI
-------------------------------------
SSCANF
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for(i = 0; i < 10; i++) { chiffres[i] = atoi(&lettres[i]); }
-------------------------------------
Ces deux méthodes me sortent les même valeurs qui n'ont rien à voir avec ce que je veux...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for(i = 0; i < 10; i++) { sscanf(&lettres[i], "%ld", &chiffres[i]); }
Pouvez-vous m'aider ?
Merci d'avance![]()









Répondre avec citation
Partager