Как записать объект класса в бинарный файл?
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.
Добрый день.
Как записать объект класса stack в бинарный файл?
или можно взять не building *pstack, а статический buidling pstack[20]
функцией write(...)
Ну, примерно так:
Первый способ — в духе процедурного программирования.
Второй способ — в духе ООП.
В принципе оба способа эквипенисуарны.
Особенно хорошо смотрятся при этом объекты )))
тогда может просто перегрузить operator<< для ostream?
Я же четко в комментариях в программе пометил что относится ко второму способу. Так что твое замечание про объекты в процедурном программировании — не катит ))
Не, ну можно было конечно две программы в мессагу забубенить. Только там повтора было бы 70%.
Перегрузить
operator<<
дляstruct building
не лучшая идея. В STLoperator<<
иoperator>>
используются для текстового ввода-вывода. А для unformatted —read
/write
.Кстати есть еще способ чтения-записи для бинарных файлов: старый добрый
stdio.h
(akacstdio
). Нетипобезопасно? А(char *)&bg1
— охрененно типобезопасно ))))ofs1.write — это контекст ООП, в процедурном стиле было бы что-то подобное:
Я не писал, что нужно потом пихать всё в файл с помощью write и подобных функций. Если учесть, что в структуре в основном текстовая информация, то может стоит задуматься о выводе в файл не пучка байт?