[Chaines de caractères] Caractères en trop avec fread
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 :
Code:
1 2 3 4
| typedef struct{
unsigned long taille_mental_exhaust;
char * mental_exhaust;
}Sort |
Le morceau de code me permettant de récupérer la chaîne est le suivant :
Code:
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); |
Et j'obtiens parfois en faisant un cout de ListeSorts[i].mental_exhaust des caractères résiduels après la valeur.
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 :).