Enregister un tableau de structures dans un fichier

cs_krolis Messages postés 12 Date d'inscription samedi 23 décembre 2000 Statut Membre Dernière intervention 3 avril 2010 - 22 févr. 2009 à 20:19
fregolo52 Messages postés 1115 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 - 23 févr. 2009 à 08:38
salut tout le monde. Je voudrais savoir comment faire pour enregistrer un tableau de structure dans un fichier. J'ai essayé mais ça marche pas. Veuillez m'aider s'il vous plaît. Merci d'avance.

typedefstruct{
charnom[40];
charprenom[40];
floatnote;
}fiche;

voidexp_txt(fiche*f)/*exporte les données de la structure dans un fichier texte*/
{
FILE*fichier=NULL;
inti;

fichier=fopen("text2.txt","w");

if(fichier!=NULL)
{
for(i=0;i<5;i++)
{
fwrite(&f,sizeof(*f),1,fichier);
}
fclose(fichier);
printf("Exportation reussie.\n");
}
else{
printf("ERREUR");
}
}
voidexp_bin(fiche*f)/*exporte les données de la structure dans un fichier binaire*/
{
FILE*fichier=NULL;
inti;

fichier=fopen("ex_txt.bin","wb");

if(fichier!=NULL)
{
for(i=0;i<5;i++)
{
fwrite(&f,sizeof(*f),1,fichier);
}
fclose(fichier);
printf("Exportation reussi.\n");
}
else{
printf("ERREUR");
}
}

2 réponses

fregolo52 Messages postés 1115 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 3
23 févr. 2009 à 08:37
fwrite
(

&
f

,
sizeof
(
*
f
),
1
,
fichier
);

Ca va pas du tout !!!

C'est plutot : (sans &)

fwrite
(



f

,
sizeof
(
*
f
),
1
,
fichier
);



une écriture plus propre serait (a mon gout) :
fwrite(f,sizeof(fiche),1,fichier);
0
fregolo52 Messages postés 1115 Date d'inscription mercredi 15 juin 2011 Statut Membre Dernière intervention 6 mai 2021 3
23 févr. 2009 à 08:38
Désolé pour la mise en page, je ne sais pas ce qu'il s'est passé.
0
Rejoignez-nous