Вам нужна внешняя библиотека. Существует zlibce.dll, нативная DLL, которую вы можете использовать, если C ++ - это ваш успех.
Если вам подходит .NET, я могу порекомендовать DotNetZip , который работает на .NETCF 2.0, бесплатный, с открытым исходным кодом и имеет хороший документ, хорошую производительность В дистрибутиве исходного кода DotNetZip есть проект CF-Unzipper, который вы можете просматривать и компилировать; это демонстрирует, как разархивировать файлы на устройстве. Вот ссылка, по которой вы можете просмотреть код для приложения устройства.
Это фрагмент кода, относящийся к почтовым индексам. Распаковывается в каталог, который берет свое имя из zip-файла (без расширения .zip).
private void UnzipSelectedFile()
{
string parent = System.IO.Path.GetDirectoryName(_selectedpath);
string dir = System.IO.Path.Combine(parent,
System.IO.Path.GetFileNameWithoutExtension(_selectedpath));
try
{
using (var zip1 = new Ionic.Zip.ZipFile(_selectedpath))
{
foreach (var entry in zip1)
{
entry.Extract(dir, true);
}
}
// re-populate the treeview with the extracted files:
AddChildren(tvFolders.SelectedNode.Parent);
}
catch (Exception ex)
{
MessageBox.Show("Exception! " + ex);
}
}
Вот ссылка на онлайн-версию документа для библиотеки.