Donc, j'ai cette fonction sur mon programme qui est supposée enregistrer une structure "car_str" à l'endroit désiré sur un fichier spécifié comme paramètre. Mais quand je l'exécute, il continue d'écraser le premier emplacement encore et encore, comme si fseek ne pointait pas vers l'endroit spécifié sur le fichier. Y a-t-il un problème avec mon code? Je pense que cela peut être lié à la multiplication, puisque sans cela le programme fonctionne bien, mais je ne peux pas pointer vers l'endroit que je veux.Avoir des problèmes avec fseek() dans C
void save(int car_nbr)
{
FILE *f;
f = fopen("memory.txt","wb");
if (!f)
{
printf ("error");
}
else
{
car_nbr--;
fseek(f, sizeof(struct car_str)*car_nbr, SEEK_SET);
fwrite(&car,sizeof(struct car_str),1,f);
rewind(f);
fclose(f);
printf("\nsaved");
}
}
Que vous apporte la multiplication? – dutt
'fseek' a une valeur de retour qui vous indique si elle a réussi. Vous devriez vérifier la valeur de retour. Est-ce ce que vous attendez? – abelenky
il est supposé donner la taille en octets de (car_nbr) fois ma structure – SergiBJ