Здравствуйте!
Столкнулся с проблемой, нужно вектор ввести в файл, а потом вывести оттуда.
Делаю я как написано в книге (блочный ввод/вывод), но там не для векторов, а для массива.
Записываю в файл:
students _obj;
init(_obj);
MasSt.push_back(_obj);
out.write((char*) &MasSt, sizeof(MasSt));
out.close();
Извлекаю из файла
in.read((char*) &MasSt, sizeof(MasSt)); // тут вектор не инициализируется, хотя по идее (по плану) должен
for(int i = 0; i < MasSt.size(); ++i)
{
cout << MasSt[i].FirstName << endl << MasSt[i].kurs<< endl << MasSt[i].MisceProz << endl; // тут выводит ошибку: Unhandled exception //at 0x00c024d5 in lab2.4CPP.exe: 0xC0000005: Access violation reading location 0x696e6584.
}
Синтаксической ошибки нет, но... я коментну строку с ошибкой.
Как сделать это правильно?