Read/Write structure to binary file

при попытке записать структуру или считать её из бинарного файла появляется ошибка в том что в него ничего не записывает а так же если раньше и записывало то не считывает его. Есть идеи в чём проблема? И есть ли какие-то предложение по правильному использованию reinterpret_cast?

    void ReadToVector(std::vector<Contact> &currentVector) {
    Contact temp;

    in_file.open(currentFileName, std::ios::out | std::ios::binary);

    while (!in_file.eof()) {
        in_file.read(reinterpret_cast<char*>(&temp), sizeof(Contact));

        currentVector.push_back(temp);
    };
    
    in_file.close();
   };

    void Write() {
        out_file.open(currentFileName, std::ios::app | std::ios::binary);

        Contact person_1 {
            "Alex",
            "+380921412",
            19,
            "09.06.2003",
            "Something info..."
        };
        
        Contact person_2 {
            "Jace",
            "+380921412",
            19,
            "09.06.2003",
            "Something info..."
        };

        out_file.write(reinterpret_cast<char*>(&person_1), sizeof(Contact));
        out_file.write(reinterpret_cast<char*>(&person_2), sizeof(Contact));

        out_file.close();
    };

Structure:

struct Contact {
    char name[24];
    char phone[12];
    uint16_t age;
    char birthday[16];
    char note[64];

    Contact() : age(0) {  };

    Contact(char inputName[24], char inputPhone[16]) : age(0) {
        std::strcpy(inputName, name);
        std::strcpy(inputPhone, phone);
    };

    Contact(char inputName[24], char inputPhone[16], uint16_t inputAge, char inputBirthday[16], char inputNote[64]) : age(inputAge) {
        std::strcpy(inputName, name);
        std::strcpy(inputPhone, phone);
        std::strcpy(inputBirthday, birthday);
        std::strcpy(inputNote, note);
    };
};

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