Помогите с проблемой: Чтение структуры из файла

Помогите пожалуйста решить проблему. Не получается считать структуру из файла. В Windows просто ничего не выводится, а в Linux исключение Segmentation fault. Я так понимаю проблема в функции fread, не выделено место в памяти. Но не пойму как это исправить

#include <stdio.h>

typedef struct Library
{
  char *Tom;
  char *Book;
} Library;

int main( void )
{
    FILE *fp;
    Library library;
    if((fp=fopen("test.dat", "rb")) == NULL) 
    {
        printf("Cannot open file.");
    }
    else
    {
        while ( !feof(fp) )
        {   
            fread(&library, sizeof( Library ), 1, fp );
            printf("%s", library.Tom);
        }
        fclose( fp );
    }
    return 0;
}

Ответы (0 шт):