Sample code for 30+ languages & platforms
Zig

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

See more Tar Archive Examples

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

Chilkat Zig Downloads

Zig
const std = @import("std");
const chilkat = @import("chilkat");

pub fn main(init: std.process.Init) !void {
    const alloc = init.arena.allocator();

    var success: bool = false;

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

    // Untar a .tar archive.
    const tar = try chilkat.Tar.init();
    defer tar.deinit();

    // Untar into c:/temp/untarDir.  The directory tree(s) contained
    // within the TAR archive will be re-created rooted at this
    // directory.
    tar.setUntarFromDir("/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.setNoAbsolutePaths(true);

    success = if (tar.untarGz("/Users/chilkat/testData/tar/abc123.tar.gz")) true else |_| false;
    if (!success) {
        std.debug.print("{s}\n", .{try tar.getLastErrorText(alloc)});
    } else {
        std.debug.print("Success\n", .{});
    }
}