![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| DjoNIK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 28.9.2006 Где: Питер/Георгиевск Репутация: 4 Всего: 5 |
Доброго времени суток!
Я так понял, что классы fstream, ifstream и ofstream есть в этом компиляторе, но как с ними работать я не знаю, поэтому выбрал класический C-шный вариант работы с онными. Но мой код при PutDB() заносит какую-то совершенно "левую" информацию в файл, и, возможно по этой причине (или по другой), GetDB() выдаёт также что-то невообразимое. Помогите понять в чём проблема!
-------------------- - Плесни-ка мне холодного кипятку. - Как кипяток может быть холодным?! Ты, верно, хочешь кипяченой воды? - Какая ещё кипяченая вода? Не пудри мне мозги - налейхолодного кипятку. (разговор петербуржца и москвича) |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 3 Всего: 43 |
Ты хоть знаешь, что fwrite делает?
У тебя же вместо буффера объект!! P.S. и что, даже компилер ошибки не выдает? P.P.S. Про сериализацию слышал? |
|||
|
||||
| EnergoHokum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 600 Регистрация: 10.11.2006 Где: Россия, Ставропол ь Репутация: нет Всего: 6 |
По моему, сериализация объектов классов - очччень небезопасное занятие. Что случится, если сериализован объект с открытыми дескрипторами (файлов или чего ещё), а при восстановлении объекты, на которые указывали дескрипторы, удалены? Явно ничего хорошего. Ну, в качестве Експеримента можно поиграть, но в реальный проект я бы побоялся такое вводить.
|
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 3 Всего: 43 |
EnergoHokum, ну дык нужно при сериализации объекта сериализовывать объекты в нем, например агрегированный объект ФС.
Добавлено через 1 минуту и 27 секунд Да или прросто при сериализации закрываем хендл файла и сохраняем имя. При обратном процессе - открываем файл на прежней позиции. |
|||
|
||||
| math64 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
class player не имеет виртуальных методов, поэтому можно применить fwrite()/fread(), но лучше
Кроме того лучше не смешивать ввод/вывод по stdio и iostream в пределах одного файла (в вашем случае - консоль) |
||||
|
|||||
| EnergoHokum |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 600 Регистрация: 10.11.2006 Где: Россия, Ставропол ь Репутация: нет Всего: 6 |
Всё равно, сериализация объектов компилируемого языка - неуютно как-то (может, я и зря паникую)
|
|||
|
||||
| DjoNIK |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 28.9.2006 Где: Питер/Георгиевск Репутация: 4 Всего: 5 |
Разве указатель не сойдёт за буфер???
Нет, по моему и не должен!
Нет. -------------------- - Плесни-ка мне холодного кипятку. - Как кипяток может быть холодным?! Ты, верно, хочешь кипяченой воды? - Какая ещё кипяченая вода? Не пудри мне мозги - налейхолодного кипятку. (разговор петербуржца и москвича) |
||||||||
|
|||||||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |