Sample code for 30+ languages & platforms
Unicode C

Iterate over Matching Filenames

See more Zip Examples

Iterates over files within a .zip that match a pattern. In this case, the pattern is "*.pem". This example will open a .zip containing files of type .txt, .cer, .pem, and possibly others, and will iterate over only the .pem files.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkZipW.h>
#include <C_CkZipEntryW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkZipW zip;
    HCkZipEntryW entry;
    const wchar_t *pemStr;
    const wchar_t *pattern;
    BOOL bHasMoreMatches;

    success = FALSE;

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    zip = CkZipW_Create();

    // Open a .zip containing PEM files, among other things..
    success = CkZipW_OpenZip(zip,L"qa_data/certs/thawte-roots.zip");
    if (success == FALSE) {
        wprintf(L"%s\n",CkZipW_lastErrorText(zip));
        CkZipW_Dispose(zip);
        return;
    }

    entry = CkZipEntryW_Create();

    pattern = L"*.pem";

    bHasMoreMatches = CkZipW_EntryMatching(zip,pattern,entry);
    while (bHasMoreMatches == TRUE) {

        wprintf(L"Entry: %s\n",CkZipEntryW_fileName(entry));

        // Get the uncommpressed contents of the entry:
        pemStr = CkZipEntryW_unzipToString(entry,0,L"utf-8");
        wprintf(L"%s\n",pemStr);

        bHasMoreMatches = CkZipEntryW_GetNextMatch(entry,pattern);
    }



    CkZipW_Dispose(zip);
    CkZipEntryW_Dispose(entry);

    }