Есть ли что-то вроде класса, который можно использовать для хранения файлов и каталогов, точно так же, как можно использовать Zip-файлы?
Поскольку я не нашел никакого «настоящего» класса для записи Zip-файлов (настоящего класса, как в классе real), было бы неплохо иметь возможность хранить файлы и каталоги в файле, похожем на контейнер.
Идеальный API, вероятно, будет выглядеть так:
int main()
{
ContainerFile cntf("myContainer.cnt", ContainerFile::CREATE);
cntf.addFile("data/some-interesting-stuff.txt");
cntf.addDirectory("data/foo/");
cntf.addDirectory("data/bar/", ContainerFile::RECURSIVE);
cntf.close();
}
... Надеюсь, вы уловили идею. Важные требования:
- Библиотека должна быть кроссплатформенной
- что-либо * GPL в этом случае неприемлема (лицензия MIT и BSD)
Я уже обдумывал идею создания внедрения на основе SQLite (и его способности хранить бинарные BLOB-объекты). К сожалению, представляется невозможным хранить структуры каталогов в базе данных SQLite, что делает ее практически бесполезной в данном случае.
Бесполезно ли надеяться на такую библиотеку классов?