Sample code for 30+ languages & platforms
C++

Untar a .tar.gz (.tgz) Compressed Archive

See more Tar Archive Examples

Untar a .tar.gz (.tgz) GZIP compressed archive.

Chilkat C++ Downloads

C++
#include <CkTar.h>

void ChilkatSample(void)
    {
    bool success = false;

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

    // Untar a .tar archive.
    CkTar tar;

    // Untar into c:/temp/untarDir.  The directory tree(s) contained
    // within the TAR archive will be re-created rooted at this
    // directory.
    tar.put_UntarFromDir("/Users/chilkat/temp/untarDir");

    // If any filepaths within the Tar archive are absolute,
    // automatically make them relative by removing the first
    // forward or backward slash.  This protects from untarring
    // files to unexpected locations.
    tar.put_NoAbsolutePaths(true);

    success = tar.UntarGz("/Users/chilkat/testData/tar/abc123.tar.gz");
    if (success != true) {
        std::cout << tar.lastErrorText() << "\r\n";
    }
    else {
        std::cout << "Success" << "\r\n";
    }
    }