Ginger
Причём тут безразмерные структуры не ясно. Обычный RANDOM access к файлу.
Если всё хранится в файле, то вполне подойдёт связка fseek/ftell. Если надо запись надо удалить, то просто помечаешь её как удалённую (т.к. сдвигать все последующие слишком долго). И изредка сжимаешь БД сдвигая все записи на места удалённых. Так работают некоторые dbm-базы. Правда, там ещё поле-ключ поддерживается, но это детали. Там просто балансируемое при доступе дерево с ключами в начале файла в простейшем случае сойдёт.
На счёт fwrite:
Цитата:
size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream );
Parameters
buffer
Pointer to data to be written
size
Item size in bytes
count
Maximum number of items to be written
stream
Pointer to FILE structure
|
Добавлено:
RANDOM д.б. написано маленькими буквами, а безразмерных структур вообще не существует.