Сигнатура функции fscanf

Есть необходимость вывести из файла данные в экземпляр структуры с помощью функции fscanf_s. Строки и данные типа int выводятся хорошо. Проблемы с double перечислением. Подскажите пожалуйста правильную сигнатуру этой функции для выводы этих типов.

Вот структура:

enum eCategory {PROSE, POETRY, SCIENCE, UNDEF };

struct BOOK
{
    char author[10];           //автор
    char name[80];             //название
    unsigned int year;         //год издания
    float price;               //цена
    eCategory category;        //категория
    const char* strCategory[4] = { "PROSE", "POESY", "SCIENCE", "UNDEF" };
    
};

Функция для вывода из файла

void Func_fail(CARD_INDEX* k) {
FILE* f;
fopen_s(&f, "my.txt", "r");
if (f)
{
        

pB[count] = new BOOK;

fscanf_s(f, "Автор:%s Название:%s, Год издания:%d  Стоимость:%f Категория:%s",
             pB[count]->author, sizeof(pB[count]->author),
             pB[count]->name, sizeof(pB[count]->name),
             &pB[count]->year, sizeof(pB[count]->year),
             pB[count]->price,sizeof(pB[count]->price),
             &pB[count]->strCategory[a->category],
             sizeof(pB[count]->strCategory[a->category]));
            
           
    }
    else
    {
        std::cout << "Не удалось открыть файл";
    }
    fclose(f);
}

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