Исключение: нарушение доступа для чтения

Примитивная программа которая заносит данные класса в файл и считывает их. Функцию свою выполняет, но в конце выводит исключение про нарушение доступа для чтения

#include <iostream>;
#include <string>;
#include <fstream>;
using namespace std;

class user {

public:
    string FName;
    string SName;

    user() {

    }

    void print() {
        cout << SName <<"\t"<<FName;
    }
};

void main(){
    setlocale(LC_ALL, "ru");
    user user1;
    cin >> user1.SName;
    cin >> user1.FName;
    ofstream fout;
    fout.open("Users.txt", ios::app);
    if (!fout.is_open()) {
        cout << "Ошибка открытия файла!" << endl;
    }
    else {
        cout << "Файл открыт!" << endl;
        fout.write((char*)&user1,ios::app);
    }
    fout.close();
    ifstream fin;
    fin.open("Users.txt", ios::in);

    if (!fin.is_open()) {
        cout << "Ошибка открытия файла!" << endl;
    }
    else {
        cout << "Файл открыт!" << endl;
        fin.seekg(0);
        user us;
        while (fin.read((char*)&us, sizeof(user))) {
        us.print();
        }
    }
    fin.close();
}

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