1546Fermer1548
RHJPPLe 24/05/2010 à 23:41
Folco (./1545) :
if ((fread (&numberEntries, sizeof (uint16_t), 1, scoresFile) != sizeof (uint16_t)) || (numberEntries > 5))
Ça ne va pas fonctionner, car fread renvoie le nombre d'éléments lus et non la taille de ce qui est lu... Il faut donc vérifier que 1 (3e paramètre) est renvoyé plutôt que sizeof(uint16_t) smile
if (fread (((CAREER_DATA*) data->customData)->careersPtr, sizeof (ENTRY_CAREER), numberEntries, scoresFile) == sizeof (ENTRY_CAREER))
Ici, tu as oublié de multiplier ce que tu compares à la sortie par numberEntries... Mais ce n'est pas bon, comme précédemment, il faut seulement comparer avec numberEntries smile