Bonjour,
Comment feriez-vous pour écrire une fonction en C qui étant donnée une chaîne de caractère de la forme XXX YYY ZZZ
(NNN un nombre à 3 chiffres), remplit un tableau d’entiers avec les 3 nombres entiers positifs correspondants ?
Par exemple, si j’ai la chaîne "231 208 006"
, la fonction remplit un tableau d’entiers pour avoir comme résultat [231, 208, 6]
.
J’imagine que ma solution n’est pas optimale, comment auriez-vous procédé ?
Est-ce important de mettre unsigned
quand c’est possible ?
#include <stdio.h>
#include <stdlib.h>
void str2int(char* s, int* int_array)
{
for (unsigned int i = 0; i < 2; i++)
{
int_array[i] = (int) strtol(s + 4*i, NULL, 10);
}
}
int main()
{
int result[3];
str2int("231 208 006", result);
printf("Résultat : [%d, %d, %d]", result[0], result[1], result[2]);
return 0;
}
+0
-0