Сохранение массива структур в бинарном режиме C++
При попытки сохранить массив структур TRAIN - station в файл в бинарном режиме выдаётся ошибка
error: cannot initialize a parameter of type
'const std::basic_ostream<char, std::char_traits<char>
>::char_type *' (aka 'const char *') with an lvalue of type
'TRAIN [3]'
Код сохранения в файл
ofstream out("data.txt",ios::binary);
out.write(station,sizeof(TRAIN)*n);
out.close();
Сама структура
const int L = 11;
struct TRAIN
{
char NAZV[L];
char NUMB[L];
char DATE[L];
char TIME[L];
};
Как я понял нужно поправить sizeof, но подскажите как именно, без помощи не смог разобраться.
Ответы (1 шт):
Автор решения: wr1ght
→ Ссылка
Решилось добавление (char*)& перед station:
ofstream out("data.txt",ios::binary);
out.write((char*)&station,sizeof(TRAIN)*n);
out.close();