Не понимаю один момент, который заключается в следующем: мне необходимо получить данные из двоичного файла (.bin), куда раннее были записаны данные в виде двух строчек string и двух чисел int (структуры, в общем), при исполнении кода:
void Opf() {
if ((fl = fopen(flName, "rb")) == NULL) {
cout << "Ошибка открытия файла..." << endl;
exit(1);
}
nst = 0;
TBook book;
while (true)
{
int nwrt = fread(&book, sizeof(TBook), 1, fl);
if (nwrt != 1) { break; }
books[nst] = book;
cout << books[nst].name << " " << " " << books[nst].author << " "
<< books[nst].yearof << " " << books[nst].pages << endl;
nst++;
}
fclose(fl);
}
Выдаёт следующую ошибку:
Вызвано необработанное исключение: нарушение доступа для чтения.
**_Pnext** было 0x61747353.
В чём может быть ошибка или же как можно это обойти?