Zig
Zig
Untar a .tar Archive
See more Tar Archive Examples
Untar a .tar archive.Chilkat Zig Downloads
const std = @import("std");
const chilkat = @import("chilkat");
pub fn main(init: std.process.Init) !void {
const alloc = init.arena.allocator();
// 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);
const file_count = tar.untar("/Users/chilkat/testData/tar/abc123.tar");
if (file_count < 0) {
std.debug.print("{s}\n", .{try tar.getLastErrorText(alloc)});
} else {
std.debug.print("Untarred {d} files and directories\n", .{file_count});
}
}