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