(C++) Zip a Directory Tree
Demonstrates how to zip an entire directory tree into a .zip archive.
#include <CkZip.h>
void ChilkatSample(void)
{
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkZip zip;
bool success = zip.NewZip("test.zip");
if (success != true) {
std::cout << zip.lastErrorText() << "\r\n";
return;
}
// Append a directory tree. The call to AppendFiles does
// not read the file contents or append them to the zip
// object in memory. It simply appends references
// to the files so that when WriteZip or WriteZipAndClose
// is called, the referenced files are streamed and compressed
// into the .zip output file.
bool recurse = true;
success = zip.AppendFiles("c:/temp/a/*",recurse);
if (success != true) {
std::cout << zip.lastErrorText() << "\r\n";
return;
}
success = zip.WriteZipAndClose();
if (success != true) {
std::cout << zip.lastErrorText() << "\r\n";
return;
}
std::cout << "Zip Created!" << "\r\n";
}
|