Не работает функция поиска в односвязном списке в двоичном файле
Что нужно исправить?
bool findFile(FILE *&f,int Start,int key,int &wp,int &pp)
{
TNumF *integer;
wp=Start;
pp=-1;
while(wp!=-1)
{
fseek(f,wp,SEEK_SET);
fread(&integer,sizeof(TNumF),1,f);
if(key==integer->num)
{
return true;
}
pp=wp;
wp=integer->next;
}
return false;
Ответы (1 шт):
Автор решения: Chorkov
→ Ссылка
Подозрительно, что вы читаете указатель из файла:
fread(&integer,sizeof(TNumF),1,f).
Вероятно, вы хотели прочитать структуру TNumF, а не указатель на нее. Тогда:
TNumF integer;
...
fread(&integer,sizeof(TNumF),1,f);
if(key==integer.num)
...