Bonjour,
J'aurais besoin d'aide pour un programme, j'aimerais écrire une fonction qui permet de charger le contenu d'un fichier, donc de photos dans un tableau. J'ai commencé mais je bloque sur la copie dans le tableau. Merci de votre réponse.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define NMAX 40
typedef struct s_date
{
int jour;
int mois;
int annee;
} date;
typedef struct s_photo
{
char nom[NMAX];
char repertoire [NMAX];
date dat;
char clefs [NMAX];
int note;
} photo;
void saisie (char name[])
{
int i;
photo p;
FILE *f;
f=fopen (name,"w" );
if (f!=NULL) {
fclose (f);
f=fopen(name,"a" );
}
i=0;
while (!i)
{
printf ("Voulez vous saisir une photo ?" );
scanf ("%d",&i);
if (i!=0) {
printf("Entrez nom :\n" );
scanf("%s",p.nom);
printf("Entrez repertoire :\n" );
scanf("%s",p.repertoire);
printf("Entrez jour :\n" );
scanf("%d",&p.dat.jour);
printf("Entrez mois :\n" );
scanf("%d",&p.dat.mois);
printf("Entrez nom :\n" );
scanf("%d",&p.dat.annee);
printf("Entrez mots clefs :\n" );
scanf("%s",p.clefs);
printf("Entrez note :\n" );
scanf("%d",p.note);
fprintf(f,"%s\n%s\n%d/%d/%d\n%s\n%d\n",p.nom,p.repertoire,p.dat.jour,p.dat.mois,p.dat.annee,p.clefs,p.note);
}
}
fclose (f);
}
void chargement (char name[])
{
FILE *f;
char *tab;
photo p;
tab=(char*)malloc(sizeof(char));
fopen(name,"r" );
if(f==NULL) exit (-1);
while (!feof(f))
{
fread (&p,sizeof (photo),1,f);
strcpy(tab,t);
tab++;
}
fclose (f);
}