Блин, я что-то на возможность "добавление файлов" внимания не обратил
В таком случае по-другому: Таблицы у нас не будет. В начало архива записываем кол-во файлов (а можно даже и не записывать), а далее перед данными файла идет информация о нем(имя, размер). Структура с информацией фиксирована. Тогда, чтение например, будет выглядить следующим образом: Прочитали кол-во файлов, прочитали инфо о файле (размер известен), далее прочитали данные файла и переходим к инфе другого, и так можно до бесконечности =).
Добавлять файл тоже очень просто, правда тут другие проблемы есть (поиск, etc), но это проще имхо.
GECK, Ну можно как угодно впринципе =). Просто когда таблица расположена в конце, при добавлении нового файла в уже сформированный "архив", таблица запоминается и удаляется из архива, на ее место пишется новый файл и в конец добавляется измененная таблица(с информацией о добавленном файле).