Сигнатура функции 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);
}