Bonjour,
J'ai un petit problème avec la fonction fread. Lorsque je récupère certaines chaînes de caractères dans mon fichier binaire, des caractères viennent parfois se rajouter.
La structure concernée est la suivante :
Le morceau de code me permettant de récupérer la chaîne est le suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 typedef struct{ unsigned long taille_mental_exhaust; char * mental_exhaust; }Sort
Et j'obtiens parfois en faisant un cout de ListeSorts[i].mental_exhaust des caractères résiduels après la valeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 fread(&(ListeSorts[i].taille_mental_exhaust), 4, 1, fp); ListeSorts[i].mental_exhaust = new char[ListeSorts[i].taille_mental_exhaust]; fread((ListeSorts[i].mental_exhaust), ListeSorts[i].taille_mental_exhaust, 1, fp);
Par exemple, si taille_mental_exhaust vaut 1, et que mental_exhaust vaut 0, j'obtiens à l'affichage :
J'espère que vous pourrez m'aider
Code : Sélectionner tout - Visualiser dans une fenêtre à part 0x=
.
Partager