[newbie] fonction fopen et fscanf
Bonjour,
J'ai un fichier toto.txt avec 2 lignes.
Je souhaite récupérer chacune d'elle dans des variables. Le contenu de l'une d'entre-elle doit passer un test de comparaison avec un entier (int test passé en argument). Le fichier est traité dans l'appel d'une fonction (lecture_fichier). Si le test est validé, un retour doit être transmis au code principal.
Voici un premier jet :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
void lecture_fichier(int test)
{
char *name = "toto.txt";
char valeur1[4];
char valeur2[BUFSIZ];
FILE *file;
if ((file = fopen ( name, "r" )) == NULL)
perror ("Impossible d'ouvrir le fichier.");
else
{
while ( fscanf ( file, "%s %s", valeur1, valeur2 ) == 2)
printf("%s\n%s\n", valeur1, valeur2);
fclose ( file );
}
} |
Mes questions sont les suivantes :
- je ne sais pas dans quelle mesure l'utilisation de la fonction fscanf est optimale et s'il n'existe pas une solution alternative plus propre ?
- lors de mon test, je vais avoir un problème de comparaison entre un pointeur et un entier et je ne sais pas comment pallier à ce problème.
- enfin, comment dois-je intégrer à ma fonction le retour du test qui sera récupérer par le code principal ?
Merci bien pour votre aide.