|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Oleg I. Khovayko 2:5020/400 15 Jan 2002 18:58:05 To : Avernin Edward Subject : Re: Упаковка данных( принцип записи в файл) -------------------------------------------------------------------------------- > Как двоичные данные разделять м/у собой в файле? А зачем их разделять? Можно сваливать в файл без всякого разделения! Ошибки записи не будет! Или надобно при чтении найти конец N-ной записи и начал N+1-й? Тогда навскидку 3 способа: 1. Все блоки данных иметь одинакового размера. Тогда элементарно вычисляется граница блока. Плюс этого способа - быстрый прямой доступ к данным. 2. Перед каждым блоком данных хранить его размер. Тогда, прыгая от начала файла через блоки, легко добраться до нужного блока. Минус способа - доступ возможен только последовательным пролистыванием от начала файла. 3. Комбинация 1 и 2. Заводим еще одил файл, содержащий смещения к записям в твоем файле бинарных данных. Смещение - это integer, то есть фиксированного размера, поэтому подпадает под п.1. Для доступа к записи N надо взять смещение из файла смещений, а потом по нему доехать до записи в файле данных. Длина бинарной записи: L = offset[n+1] - offset[n]. -- #include <best/regards.hpp> Oleg I. KHOVAYKO (301)435-5885 || WEB: http://olegh.spedia.net --- ifmail v.2.15dev5 * Origin: National Center for Biotechnology Information (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/1152291ea06b4.html, оценка из 5, голосов 10
|