Sample code for 30+ languages & platforms
C++

Zip Append StringBuilder

See more Zip Examples

Append the contents of a Chilkat StringBuilder object to a .zip.

Chilkat C++ Downloads

C++
#include <CkZip.h>
#include <CkStringBuilder.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.

    CkZip zip;
    const char *zipPath = "c:/temp/qa_output/out.zip";

    zip.NewZip(zipPath);

    CkStringBuilder sb;
    int i = 0;
    while (i < 100) {
        sb.AppendLine("This is a test",true);
        i = i + 1;
    }

    zip.AddSb("this_is_a_test.txt",sb,"utf-8");

    success = zip.WriteZipAndClose();
    if (success == false) {
        std::cout << zip.lastErrorText() << "\r\n";
        return;
    }

    std::cout << "Success 1." << "\r\n";

    //  Perhaps you want to add a file to an existing .zip
    CkZip zip2;
    //  Open the .zip we just wrote..
    success = zip2.OpenZip(zipPath);

    sb.Clear();
    i = 0;
    while (i < 100) {
        sb.AppendLine("This is a test 2",true);
        i = i + 1;
    }

    zip2.AddSb("this_is_a_test_2.txt",sb,"utf-8");

    const char *zipPath2 = "c:/temp/qa_output/out2.zip";
    zip2.put_FileName(zipPath2);
    success = zip2.WriteZipAndClose();
    if (success == false) {
        std::cout << zip2.lastErrorText() << "\r\n";
        return;
    }

    std::cout << "Success 2." << "\r\n";
    }