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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.