int ricerca_copia(int x,int xf)
{
FILE *xp;
int conf;
int f;
int xeof;
f=0;
// file was already written and closed before this function
xp=fopen("prenotazioni_copy.dat","rb");
if(xp)
{
xeof=0;
while(xeof==0)
{
//Never changes xp value
fread(&appoggio,sizeof(appoggio),1,xp);
if(feof(xp))
{
//never enters here
xeof=1;
}
else
{
//other stuff
}
fclose(xp);
}
}
printf("\nValore %d",f);
return f;
}
fread не меняет значение указателя (xp), поэтому значение xeof остается 0 и цикл перезапускается
Я уже тестировал использование этой части кода извне этой функции, и она работает, вот в чем проблема.
Я не знаю, как решить, поэтому есть какое-то решение?