Sample code for 30+ languages & platforms
Unicode C

Example for the Zip AppendNew Function

See more Zip Examples

Demonstrates the Zip AppendNew function.

Chilkat Unicode C Downloads

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

void ChilkatSample(void)
    {
    BOOL success;
    HCkZipW zip;
    const wchar_t *zipPath;
    const wchar_t *pathInZip;
    HCkZipEntryW entry;

    success = FALSE;

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

    zip = CkZipW_Create();

    zipPath = L"c:/temp/qa_output/test.zip";

    //  Initialize the zip object, which also sets the FileName property to the path of the zip to be created.
    CkZipW_NewZip(zip,zipPath);

    //  Append a new and empty file to the zip object.
    //  This does not write the zip file.  It simply adds an entry
    //  that will get processed when the zip is written.
    CkZipW_AddEmpty(zip,FALSE,L"empty.txt");

    //  Append another entry..
    pathInZip = L"abc/helloWorld.txt";
    CkZipW_AddEmpty(zip,FALSE,pathInZip);

    //  Add some data to this entry..
    entry = CkZipEntryW_Create();
    CkZipW_EntryOf(zip,pathInZip,entry);
    CkZipEntryW_AppendString(entry,L"Hello World",L"utf-8");

    //  Write the zip, which contains 2 files:  empty.txt and helloWorld.txt
    CkZipW_putFileName(zip,zipPath);
    success = CkZipW_WriteZipAndClose(zip);
    if (success == FALSE) {
        wprintf(L"%s\n",CkZipW_lastErrorText(zip));
        CkZipW_Dispose(zip);
        CkZipEntryW_Dispose(entry);
        return;
    }

    wprintf(L"Success.\n");


    CkZipW_Dispose(zip);
    CkZipEntryW_Dispose(entry);

    }