Ошибка при считывании объекта класса из файла, хелп!
Крайне примитивный пример, хочу записать объект класса в файл и вывести обратно, все работает корректно, но после выполнения программа останавливается(на return), тупит некоторое время и возвращает отрицательное число, отладчик рассказывает о какой-то ошибке доступа, путем комментирования всего подряд выяснилось, что проблема вот тута fin.read((char*)&test2, sizeof(Test)); Но какая не пойму, молю о помощи!
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
class Test
{
public:
Test(string name)
{
this->name = name;
}
void Print()
{
cout << name << endl;
}
string name;
private:
};
int main()
{
ofstream fout;
Test test1("string"), test2("no");
fout.open("test.txt", ofstream::app);
fout.write((char*)&test1, sizeof(Test));
fout.write((char*)&test1, sizeof(Test));
fout.close();
ifstream fin;
fin.open("test.txt");
fin.read((char*)&test2, sizeof(Test));
test2.Print();
fin.close();
return 0;
}