Re: Save файлы
От: Unhandled_Exception Россия  
Дата: 14.10.19 16:44
Оценка:
Здравствуйте, TailWind, Вы писали:

TW> [...]


В нескольких проектах использую sqlite.
Re: Save файлы
От: goto Россия  
Дата: 14.10.19 17:20
Оценка:
Здравствуйте, TailWind, Вы писали:

TW>Пишу редактор


Как писали, первой хранится сигнатура, за ней — версия файла.

Отказаться от идеи считывать "блоб" из файла в объект в памяти целиком.

Можно использовать тэговый формат. Как пример, xml или json, где объекты доступны по именам/иерархиям, при этом не важно, где они лежат в файле физически. В двоичном виде такое тоже нетрудно организовать. При этом будет шанс (можно пытаться добиваться этого специально, если хочется), что старая версия будет читать более новый формат, предварительно предупредив пользователя о возможности трабла.
Re[2]: Save файлы
От: kgd  
Дата: 14.10.19 20:02
Оценка:
Здравствуйте, goto, Вы писали:

G>Отказаться от идеи считывать "блоб" из файла в объект в памяти целиком.


G>Можно использовать тэговый формат. Как пример, xml или json, где объекты доступны по именам/иерархиям, при этом не важно, где они лежат в файле физически. В двоичном виде такое тоже нетрудно организовать. При этом будет шанс (можно пытаться добиваться этого специально, если хочется), что старая версия будет читать более новый формат, предварительно предупредив пользователя о возможности трабла.



Это же очень просто. В двоичном файле после идетификатора секции пишется размер данных. Если идентификатор неизвестен — программа пропускает этот сегмент данных и читает следующий. Вроде так формат RIFF организован.
Re[3]: Save файлы
От: goto Россия  
Дата: 15.10.19 21:47
Оценка:
Здравствуйте, kgd, Вы писали:

kgd>Это же очень просто. В двоичном файле после идетификатора секции пишется размер данных. Если идентификатор неизвестен — программа пропускает этот сегмент данных и читает следующий. Вроде так формат RIFF организован.


Тэговые форматы часто так и устроены. А так, вплоть до использования БД.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.