Не работает функция поиска в односвязном списке в двоичном файле

Что нужно исправить?

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)
... 
→ Ссылка