parsingr en utilisant scanf en C

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