Sample code for 30+ languages & platforms
Unicode C++

Unzip an AES Encrypted Text File directly into a String Variable

See more Zip Examples

A common need is to unzip from an AES encrypted Zip archive directly into a string variable, such that the unencrypted file never resides on disk, even temporarily. This example shows how to do it.

Chilkat Unicode C++ Downloads

Unicode C++
#include <CkZipW.h>
#include <CkZipEntryW.h>

void ChilkatSample(void)
    {
    bool success = false;

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

    CkZipW zip;

    //  This example opens a WinZip-compatible AES encrypted
    //  .zip that contains a single file: hamlet.xml.

    //  It decrypts and unzips hamlet.xml directly into a string
    //  variable.
    zip.SetPassword(L"secret");
    success = zip.OpenZip(L"qa_data/hamlet.zip");
    if (success == false) {
        wprintf(L"%s\n",zip.lastErrorText());
        return;
    }

    CkZipEntryW entry;
    success = zip.EntryOf(L"hamlet.xml",entry);
    if (success == false) {
        wprintf(L"%s\n",zip.lastErrorText());
        return;
    }

    //  lineEndingBehavior:
    //  0 = leave unchanged.
    //  1 = convert all to bare LF's
    //  2 = convert all to CRLF's
    int lineEndingBehavior = 0;
    const wchar_t *srcCharset = L"utf-8";
    const wchar_t *xmlText = entry.unzipToString(lineEndingBehavior,srcCharset);
    wprintf(L"%s\n",xmlText);
    }