C
C
Create Zip Excluding Files Matching Patterns
See more Zip Examples
How to create a .zip archive excluding (skipping) files that match a set of wildcarded patterns.Chilkat C Downloads
#include <C_CkZip.h>
#include <C_CkStringArray.h>
void ChilkatSample(void)
{
BOOL success;
HCkZip zip;
HCkStringArray sa;
BOOL recurse;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
zip = CkZip_Create();
success = CkZip_NewZip(zip,"test.zip");
if (success != TRUE) {
printf("%s\n",CkZip_lastErrorText(zip));
CkZip_Dispose(zip);
return;
}
// Create a string array object with our set of filename patterns
// to be excluded:
sa = CkStringArray_Create();
success = CkStringArray_Append(sa,"*.bak");
success = CkStringArray_Append(sa,"*.tmp");
// Tell the zip object to use these exclusions:
CkZip_SetExclusions(zip,sa);
// Append a directory tree. The 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,
// or WriteExe, etc.) is called, the files are compressed
// and encrypted.
recurse = TRUE;
success = CkZip_AppendFiles(zip,"/temp/a/*",recurse);
success = CkZip_WriteZipAndClose(zip);
if (success != TRUE) {
printf("%s\n",CkZip_lastErrorText(zip));
CkZip_Dispose(zip);
CkStringArray_Dispose(sa);
return;
}
printf("Zip Created!\n");
CkZip_Dispose(zip);
CkStringArray_Dispose(sa);
}