Имеется класс
class Car
{
public:
Car()
{
std::string Availability = "None";
std::string brand = "";
int carAge = 0;
};
Car( const std::string &avail, const std::string &brand, int carAge)
{
Availability = avail;
this->brand = brand;
this->carAge = carAge;
};
void Print()
{
std::cout << Availability << std::endl;
std::cout << brand << std::endl;
std::cout << carAge << std::endl;
}
private:
std::string Availability;
std::string brand;
int carAge;
};
Вот сама программа:
int main()
{
std::string path = "flash.txt";
Car newcar("Yes", "Porsche", 5);
std::ofstream fout;
fout.open(path, std::ofstream::app);
if (!fout.is_open())
{
std::cout << "Ошибка. Не удалось открыть файл" << std::endl;
}
else
{
std::cout << "Удалось открыть файл. Операция успешна" << std::endl;
fout.write((char*)&newcar, sizeof(Car));
}
fout.close();
std::string path = "flash.txt";
std::ifstream fin;
fin.open(path);
if (!fin.is_open())
{
std::cout << "Не открылся файл"<< std::endl;
}
else
{
std::cout << "Файл открылся" << std::endl;
Car machine;
while (fin.read((char*)&machine, sizeof(Car)))
{
machine.Print();
}
}
fin.close();
}
выдает ошибку Segmentation fault (core dumped). Гуглил. Дебажил. Возникает ошибка при работе метода print. Час голову ломал, но я еще новичок, не знаю что с этим делать. В чем причина данной ошибки?