1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
   |  
#include <stdio.h>
#include <string.h>
 
 typedef struct {
  char prenom[100];
  char nom [100];
  int jour;
  int mois;
  int annee;  
}ligne;
 
int compteDonnees(char fichier[])
{
 char lignes[200];
 int nbLignes=0;
 
 FILE * fp;
 
 // ouverture fichier et verif
 if ((fp=fopen (fichier,"r")) == NULL)
 printf("Impossible d'ouvrir le fichier données en lecture\n");
 
 // lecture ligne par ligne
 // while (!=feof(fp))
 while(fgets(lignes,200,fp)!= NULL){
 nbLignes++;
 //fscanf(fp,"%s %s %d %d %d\n",ligne);
 }
 
 fclose (fp);
 return nbLignes;
}
 
void lirefscanf (char fichier[], ligne * annif, ligne * sauveDonnee[])
{
  int i,nbLignes;
 
  FILE * fp;
 
 // ouverture fichier et verif
 if ((fp=fopen (fichier,"r")) == NULL)
 printf("Impossible d'ouvrir le fichier données en lecture\n");
 
 nbLignes=compteDonnees(fichier);
 
 for(i=0; i<nbLignes;i++)
 {
  fscanf(fp,"%s %s %d %d %d\n",sauveDonnee[i]->prenom, sauveDonnee[i]->nom, &sauveDonnee[i]->jour, &sauveDonnee[i]->mois, &sauveDonnee[i]->annee);
 }
 
 fclose (fp);
}
 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
int main (int argc, char argv[])
{
 char nomFichier[100];
 ligne ligneTexte;
 ligne tabDonnee [10];
 
 printf("\tIndiquer le nom du fichier, avec son extension, svp\n");
 //gets(nomFichier);
 strcpy(nomFichier,"texte.txt");
 
 compteDonnees(nomFichier);
 lirefscanf(nomFichier,&ligneTexte,tabDonnee);
 
 
 return 0;
 
} | 
Partager