При записи в бинарный файл структуры некоторые данные искажаются
Суть в чем, когда я пытаюсь записать данные в файл, некоторые данные выводятся нормально, а некоторые изменяются и становятся непонятными символами, в моем случае "ЭЭЭ..." (Вывод сверху идет непосредственно из Struct, а нижний вывод идет из бинарного файла (все данные из сгенерировал ChatGPT))

Код моего конвертера
void convertToBinary(const string& binaryFileName) {
ofstream binaryFile(binaryFileName, ios::binary);
Abiturient ab;
if (binaryFile.is_open()) {
for (Abiturient ab : Abiturients) {
binaryFile.write(reinterpret_cast<char*>(&ab), sizeof(Abiturient));
}
binaryFile.close();
}
else {
cout << "Ошибка открытия файлов для конвертации." << endl;
}
}
чтение файла
void readBinaryFile(const string& fileName) {
ifstream file(fileName, ios::binary);
if (file.is_open()) {
Abiturient ab;
while (file.read((char*)(&ab), sizeof(Abiturient))) {
cout << ab.lastName << ab.firstName << ab.middleName << ab.gender << ab.nationality
<< ab.dateOfBirth << ab.address << ab.russianGrade << ab.englishGrade << ab.mathGrade << ab.passingScore << endl;
}
file.close();
}
else {
cout << "Ошибка открытия файла для чтения." << endl;
}
}
Знаю что везде текстовые поля не нужно везде ставить.
struct Abiturient {
string lastName;
string firstName;
string middleName;
string gender;
string nationality;
string dateOfBirth;
string address;
string russianGrade;
string englishGrade;
string mathGrade;
string passingScore;
};
