Gcc 4.4.4 c89
Quel est le meilleur moyen de convertir une chaîne de caractères en une valeur entière.
J'ai essayé 2 méthodes différentes : atoi et sscanf. Les deux fonctionnent comme prévu.
char digits[3] = "34";
int device_num = 0;
if(sscanf(digits, "%d", &device_num) == EOF) {
fprintf(stderr, "WARNING: Incorrect value for device\n");
return FALSE;
}
ou en utilisant atoi
device_num = atoi(digits);
Je pensais que le sscanf serait meilleur car il permet de vérifier les erreurs. Cependant, atoi ne fait aucune vérification.
Merci beaucoup pour tout conseil,