Не считывается структура из файла на си

У меня в файле данные структуры, которые нужно считать, но программа считает бред какой то. Код:


        rewind(f);
        fscanf(f, "%d", &a);
        printf("Schitalos: %d\n", a);
        N = n + a-1;
        cataloges = (int*)malloc(N * sizeof(int));
        for (int i = 0; i <= N; i++)
        {

            fseek(f,i * sizeof(struct catalog), 0);
            fscanf_s(f, "\"%s\"\nАвтор: %s, %d г.\nТип: %s\nШифр специальности: %d\nКоличество страниц: %d.\n", cataloges[n].name, cataloges[n].author, cataloges[n].publ_year, cataloges[n].type, cataloges[n].speciality_code, cataloges[n].pages_amount);
        }
        
        for (int i = 0; i <=N; i++, cataloges++) 
        {
            printf("\"%s\"\nАвтор: %s, %d г.\nТип: %s\nШифр специальности: %d\nКоличество страниц: %d.\n", cataloges->name, cataloges->author, cataloges->publ_year, cataloges->type, cataloges->speciality_code, cataloges->pages_amount);
        }

В консоль выводит: Schitalos: 2 "ННННээээ`B}" Автор: , 0 г. Тип: |>} Шифр специальности: 0 Количество страниц: 0. "" Автор: , 0 г. Тип: Шифр специальности: 0 Количество страниц: 0.


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