所以,我的程序上有这个函数,它应该将“car_str”结构保存到指定为参数的文件的所需位置。但是当我运行它时,它会一次又一次地覆盖第一个插槽,好像 fseek 没有指向文件上的指定位置。我的代码有问题吗?我认为它可能与乘法有关,因为没有它,程序运行良好,但我无法指向我想要的地方。
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");
}
}