Conversion d'un char en int
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 :
Code:
1 2 3 4
|
for(i = 0; i < 10; i++) {
chiffres[i] = fonction_de_conversion(lettres[i]);
} |
Ce que je cherche c'est donc cette fameuse fonction de conversion qui me permet de transformer un char en int.
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
-------------------------------------
Code:
1 2 3 4
|
for(i = 0; i < 10; i++) {
chiffres[i] = atoi(&lettres[i]);
} |
SSCANF
-------------------------------------
Code:
1 2 3
| for(i = 0; i < 10; i++) {
sscanf(&lettres[i], "%ld", &chiffres[i]);
} |
Ces deux méthodes me sortent les même valeurs qui n'ont rien à voir avec ce que je veux...
Pouvez-vous m'aider ? :)
Merci d'avance ;)