J'ai un fichier texte qui contient les trois lignes suivantes:
12 5 6
4 2
7 9
Je peux utiliser la fonction fscanf
pour lire les 3 premières valeurs et les stocker dans 3 variables. Mais je ne peux pas lire le reste. J'ai essayé d'utiliser la fonction fseek
, mais cela ne fonctionne que sur les fichiers binaires.
Veuillez m'aider à stocker toutes les valeurs dans des variables entières.
Une solution simple utilisant fscanf
:
void read_ints (const char* file_name)
{
FILE* file = fopen (file_name, "r");
int i = 0;
fscanf (file, "%d", &i);
while (!feof (file))
{
printf ("%d ", i);
fscanf (file, "%d", &i);
}
fclose (file);
}
Que dis-tu de ça?
fscanf(file,"%d %d %d %d %d %d %d",&line1_1,&line1_2, &line1_3, &line2_1, &line2_2, &line3_1, &line3_2);
Dans ce cas, les espaces dans fscanf
correspondent à plusieurs occurrences de tout espace jusqu'au prochain jeton trouvé.