Встроенные удобства это приятно!:)
Пишу данные в базу, возникла мысль что архивирование может быть очень кстати, попробывал – действительно стало лучше. Арихивирование благодаря встроенным средствам wxWidgets делается легко и быстро. Просто пропускаем данные через wxZlibOutputStream который архивирует\распаковывает на лету.
[sourcecode language=”cpp”]
void SavecbContentToStream(wxMemoryOutputStream &memout, bool zlib/*=false*/) const
{
scoped_ptr
scoped_ptr
if(zlib)
{
zlibstr.reset(new wxZlibOutputStream(memout, -1, wxZLIB_GZIP));
dos.reset(new wxDataOutputStream (*zlibstr));
}
else
dos.reset(new wxDataOutputStream (memout));
// write some data …
*dos <<(wxUint16)1 <<(wxUint16)cbContent.size();
// ...
}
[/sourcecode]
Функция записывает данные в переданный буфер с опциональным архивированием их.