Probleme avec le fonction d'ecriture dans un fichier

cs_desteny Messages postés 2 Date d'inscription dimanche 24 août 2003 Statut Membre Dernière intervention 14 janvier 2005 - 13 janv. 2005 à 21:39
cs_desteny Messages postés 2 Date d'inscription dimanche 24 août 2003 Statut Membre Dernière intervention 14 janvier 2005 - 14 janv. 2005 à 12:09
Bonjour tout le monde !
voila mon probleme:
j'utilise une strucute avec dedans un tableau vers une autre strucutre (juste pour donner une idée de mes donnée) enfin soit
des que j'utilise la fonction fprintf ou fwrite les donnée contenu dans le tableau de structure sont modifié... je ne comprned absolument pas est ce que qqn a deja eu ce probleme ?

je code en C uniquement sous BC 5.02
merci de votre aide !

2 réponses

theneoiceman Messages postés 78 Date d'inscription lundi 14 avril 2003 Statut Membre Dernière intervention 23 avril 2010
14 janv. 2005 à 01:46
Pour info si tu veux inscrire une structure dans un fichier(structure
telle qu'elle) alors tu as OBLIGATION d'utiliser la fonction fwrite (ou
write meme si tu veux) avec comme taille la taille de ta structure en
parametre(un des parametres). Si tu veux pouvoir lire les données de
cette structure en ouvrant le fichier avec notepad par exemple tu
utiliseras fprintf plutot pour chaque element de ta structure.



Petite info supplémentaire, le fwrite inscrit la structure passée en
parametre par exemple mais si ta structure possede un pointeur sur une
autre structure alors cette structure ne sera pas enregistrée (ou du
moins seule l'adresse du pointeur sera enregistrée ce qui n'a aucun
interet car cette adresse ne sera plus valable lorsque tu accederas a
tno fichier avec fread ou read) car toute zone allouée dynamiquement
dans une structure n'est pas inscrite dans le fichier avec un fwrite de
cette structure).

J'espère avoir été assez clair.

Mess with the best, die like the rest
0
cs_desteny Messages postés 2 Date d'inscription dimanche 24 août 2003 Statut Membre Dernière intervention 14 janvier 2005
14 janv. 2005 à 12:09
petite precision, je ne cherche pas a ecrire ce que j'ai dans ma structure, si je fais par exemple un :
fprintf(fp,"hello word !");
ca me bousille ma memoire.... je comprend vraiment rien du tout...
mais merci de ton explication (je ne le savais pas !!)
0