Вопрос по CArchive
От: ahaos  
Дата: 09.02.14 10:31
Оценка:
Нужно подряд реализовать две команды.

int ident;

ar >> ident;
ar << ident;

Это нужно для обратной совместимости фалов различных версий. По переменной ident я определяю что дальше читать из архива.
В наличии уже много файлов старых версий и в них нужно добавлять новую информацию, но при этом суметь прочитать их в новой версии программы.
Структура сохранения сложная, поэтому здесь я ее описывать не буду. Это единственный способ, который я нашел, чтобы решить свою проблему более-менне красиво и не драматично. Если переменная ident, прочитанная из архива, не равняется какому-то числу, то ее нужно вернуть обратно в архив.
ОчевидноЮ что CArchive создается с флагами: CArchive:load или CArchive::store. Можно ли на ходу поменять режим, чтобы вернуть переменную обратно. Возможно есть какие-то другие методы решения.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.