У меня есть такая структура:
struct Employee
{
char VarOne[50];
unsigned int VarTwo;
double VarThree[4];
}
Затем я заполняю динамический массив этой структуры:
Employee* MyArray = new Employee[TheSize]; // Sorry I forgot to mention TheSize is = 5 constant
Затем я пытаюсь записать массив в двоичном режиме в файл:
// write as binary
fstream OutFileBin;
OutFileBin.open("Employee.dat", ios::binary | ios::out);
OutFileBin.write(reinterpret_cast<char *>(&MyArray), TheSize * sizeof(Employee));
OutFileBin.close();
Но когда я читаю файл в двоичном режиме, он терпит неудачу, и данные являются ненужными:
// read as binary
fstream InFilebin;
InFilebin.open("Employee.dat", ios::binary | ios::in);
Employee NewArray[TheSize]; // sorry I forgot to mention TheSize is = 5 constant
InFilebin.read(reinterpret_cast<char *>(&NewArray), TheSize * sizeof(Employee));
Что я делаю не так?