Voila le "problème" :
Je veux charger les données à partir d'un fichier séquentiel dans un tableau de structures que j'ai alloué dynamiquement (malloc).
Voici ma fonctiond e chargement :
void chargement(struct s_dvd **ppt) //recoit un ptr de ptr afin de pouvoir travailler sur la structure dans le main
{
struct s_dvd dvd,*ptr; //s_dvd = ma structure définie en global
FILE *file;
file=fopen("dvd.txt","r");
if(file==NULL)
{
erreur(1); //affichage d'une erreur
}
else
{
*ppt=(struct s_dvd *)malloc(((ftell(file))/sizeof(struct s_dvd))*sizeof(struct s_dvd)); //allocation dynamique du tableau de structures
if (*ppt==NULL)
{
erreur(2);
}
else
{
ptr=*ppt; // ptr va pointer sur le debut de structure et va etre utilisé pr le chargement - *ppt ne bouge pas.
fseek(file,0,0);
while((fread(&dvd,sizeof(struct s_dvd),1,file))==1)
{
ptr->dvd_num=dvd.dvd_num;
ptr->dvd_titre=dvd.dvd_titre;
ptr->dvd_annee=dvd.dvd_annee;
ptr->dvd_realisateur=dvd.dvd_realisateur;
ptr->dvd_acteur[1].acteur_nom=dvd.dvd_acteur[1].acteur_nom;
ptr->dvd_acteur[1].acteur_prenom=dvd.dvd_acteur[1].acteur_prenom;
ptr->dvd_acteur[2].acteur_nom=dvd.dvd_acteur[2].acteur_nom;
ptr->dvd_acteur[2].acteur_prenom=dvd.dvd_acteur[2].acteur_prenom;
ptr->dvd_acteur[3].acteur_nom=dvd.dvd_acteur[3].acteur_nom;
ptr->dvd_acteur[3].acteur_prenom=dvd.dvd_acteur[3].acteur_prenom;
ptr->dvd_code=dvd.dvd_code;
ptr->dvd_duree=dvd.dvd_duree;
ptr++;
}
}
}
}
L'erreur : concerne toutes les données de type char[] : error C2106: '=' : left operand must be l-value
Si je commente les lignes concernées le chargement se fait correctement pr les int.
Que dois je modifier ?
Merci

