J’apprends le C pour la première fois.
J’ai un pointeur sur une chaîne appelée goalie_stat (voir ci-dessous). Comment utiliser scanf pour parsingr le pourcentage de sauvegarde, qui est 933, puis affecter 933 à une variable, puis enfin l’imprimer?
char *goalie_stat = "PatRoy 2.28 933 35 12 165 199 4 5500" char save_p = scanf("%[13-15]", goalie_stat); printf("%s", save_p);
‘933’ sont les 13ème, 14ème et 15ème caractères de la chaîne, mais je sais que cela est incorrect
Vous devez utiliser sscanf
pour parsingr les chaînes, pas scanf
:
int num; sscanf(goalie_stat, "%*s %*s %d", &num); printf("%d", num);
devrait faire l’affaire! %*s
lit et supprime le premier mot de goalie_stat
et le second %*s
lit et supprime le mot suivant (2.28). %d
lit alors le troisième nombre et le stocke num
.
Vous devez également vérifier la valeur de retour de sscanf
pour voir si elle a réussi.
Vous devriez utiliser sscanf()
. Son utilisation est décrite ici:
http://www.tutorialspoint.com/c_standard_library/c_function_sscanf.htm