Как сохранить структуру в файл, а потом прочитать ее?

Хочу создать программу, которая сохраняет структуру в векторами, другими структурами и тд:

struct b {
    bool complited;
    std::vector<int> nums;
};

struct a {
    bool complited;
    std::vector<b> list;
};

Затем сохраняю объект структуры a в файл:

a dataToSave = { false, { { false, { 1, 2, 3 } } } };
int dataSize = sizeof(dataToSave);

FILE* fileWrite;
fileWrite = fopen("save.dat", "w");
fwrite(&dataToSave, dataSize, 1, fileWrite);
fclose(fileWrite);

После этого хочу отобразить один из элемента, загружая файл вновь, однако ловлю исключение:

a dataToLoad;
FILE* fileRead;
fileRead = fopen("save.dat", "r");
fread(&dataToLoad, dataSize, 1, fileRead);
fclose(fileRead);

std::cout << dataToLoad.list[0].nums[1];

Как это решить, подскажите пожалуйста. Код исключения:

Вызвано исключение по адресу 0x00007FF7F50E61AA в Save.exe: 0xC0000005: нарушение прав доступа при чтении по адресу 0xFFFFFFFFFFFFFFFF.


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