![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Dr.Wisdom |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 6.1.2005 Репутация: нет Всего: 0 |
Есть класс. там только простые типы ( int, char[1000] итп)
хочу его сохранить в файл. пишу
и оно работает, а когда пишу
оно не работает! Что мне делать. Я бы и сам разобрался (наверное, да нет, что там - я уверен), но сроки поджимают. Поэтому спрашиваю. Итак вопрос: написать в файл, а потом загрузить кучу одинаковых классов. --------------------
VIVA LA RESISTANCE |
||||
|
|||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 16 Всего: 98 |
показывай код ( а не ляля ).
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 1 Всего: 23 |
Dr.Wisdom
Сомневаюсь, что такое вообще возможно. Попробуй сохранить содержимое полей класса в определенном порядке, а затем просто инициализируй класс чтением из файла. |
|||
|
||||
| Dr.Wisdom |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 6.1.2005 Репутация: нет Всего: 0 |
_hunter, ты хотел код?
Вот он. NiJazz, такое возможно. Даже в Либерти прописано. --------------------
VIVA LA RESISTANCE |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
||||
|
||||
| NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 1 Всего: 23 |
Dr.Wisdom
Так тебе же нужно загрузть данные из класса? Так напиши еще два метода: SaveToFile и LoadFromFile, которые будут сохранять содержимое в файл и загружать из файла соответственно. |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
А говоришь, только простые типы. Какой смысл писать в файл указатели? -------------------- Не смей читать мою подпись!!! |
|||
|
||||
| Neitron |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 580 Регистрация: 3.10.2005 Где: Москва Репутация: 2 Всего: 5 |
Тем более AnsiString тоже является неявным указателем.
-------------------- Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей. Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ |
|||
|
||||
| Chaos A.D. |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 16.1.2005 Где: 09 RUS Репутация: 6 Всего: 7 |
У тебя в классе указатели - это не очень благоприятно для сериализации. Тут нужно либо заменять их интеллектуальными указателями, либо избавиться от них.
Если выбрать вариант с умными указателями, то тоже нужно быть осторожным - существует проблема циклических графов, т.е. например когда один объект, состояние которого нужно сохранить, имеет вложенный указатель на другой такой же объект, который в свою очередь имеет указатель на первый. В таком случае все объекты, которые мы уже сохранили, нужно будет помечать. Вообще, если тебе нужно просто заставить твой код работать, и сохранять все в файл - тут работы на пять минут. И тут нужно либо писать все в ужасном стиле, либо переписывать твой код. Но я готов помочь. Если есть желание написать в образовательных целях свою обобщенную реализацию, то я с удовольствием приму участие. Ты только скажи, что тебе нужно. Меня заинтересовал вопрос обобщенной реализации. 2 sergej.z Не в обиду будет сказано chipset-у - воистину убогая реализация, которая работает только с объектами, имеющими тривиальный конструктор, с Plain Old Data, другими словами. --------------------
Надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума...Ken Kesey - One Flew Over The Cocoo's Nest |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
||||
|
||||
| Chaos A.D. |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 16.1.2005 Где: 09 RUS Репутация: 6 Всего: 7 |
Никогда о таком не слышал. Скачал сырцы, на досуге посмотрю. Но вообще готовых реализаций валом. Скажем, есть у Александреску в Современном проектировании на С++, или boost.serialization. Самому бы что-нибудь написать хотелось, для самообразования. --------------------
Надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума...Ken Kesey - One Flew Over The Cocoo's Nest |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
fastdb мощнее. Это не просто сериализация, но и база данных, откуда можно обьекты забирать с помощью SQL (ну или почти SQL). Либа малюсенькая, но мощная и кроссплатформенный код.
|
|||
|
||||
| Dr.Wisdom |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 145 Регистрация: 6.1.2005 Репутация: нет Всего: 0 |
Угу. Уяснил. Подумаю про указатели. Что такое интелектуальные указатели не знаю. Избавлюсь. Правда у меня там динамичный список, но я уже знаю как сделаю. (где наша не пропадала - наша пропадала везде) Публиковаться не хотелось бы - начальство п**дов вкачает, но готов сотрудничать. У меня есть прога - трйнинг, которую я написал чтоб разобраться. Вобщем то вот код для BC6
принцып тот и он работает, теоретически для любого класа из вышеопределнных. --------------------
VIVA LA RESISTANCE |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |