J'ai un programme C qui rencontre des erreurs lorsque j'entre dans une boucle while.C: fscanf efface les valeurs de variables entières?
J'initialiser une variable (fragmentcount) et écrire dans l'aide fscanf et lui attribuer une valeur de 4 (cela fonctionne)
int fragmentCount;
if ((fscanf(fp, "%i", &fragmentCount)) == 1) {
...
}
Cependant, lorsque je tente d'y accéder dans une boucle while ci-dessous, fragmentCount = 0
while ((fscanf(fp, "%[#]", discards)) != EOF) {
printf(fragmentCount); // <- pseudocode
}
pour une brève expérience, j'ai essayé enlevons le fscanf que le test conditionnel pour la boucle while et fragmentCount était la valeur correcte (4).
Pourquoi est-ce ainsi? Comment puis-je éviter ça?
Il est plus la lecture des # 's dans les rejets de chaîne, que d'éviter l'EOF – Daniel