Zig
Zig
Zip
See more Zip Examples
Zip a directory tree.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.
const zip = try chilkat.Zip.init();
defer zip.deinit();
const zip_path = "c:/temp/myFiles.zip";
// Initialize the zip object, which also sets the FileName property to the path of the zip to be created.
zip.newZip(zip_path) catch {};
// Append references to files to be zipped.
const recurse = true;
zip.appendFiles("c:/temp/files_to_zip/*", recurse) catch {
std.debug.print("{s}\n", .{try zip.getLastErrorText(alloc)});
return;
};
// Write the .zip and close the zip file (and clears the zip object).
zip.writeZipAndClose() catch {
std.debug.print("{s}\n", .{try zip.getLastErrorText(alloc)});
return;
};
std.debug.print("Successfully created {s}\n", .{zip_path});
// If the following files existed under c:/temp/files_to_zip
// c:/temp/files_to_zip/aaa/pigs.json
// c:/temp/files_to_zip/bbb/base64Cert.txt
// c:/temp/files_to_zip/bbb/sub1/brasil_cert.pem
// c:/temp/files_to_zip/bbb/sub2/penguins.gif
// c:/temp/files_to_zip/bbb/sub2/starfish.jpg
// c:/temp/files_to_zip/hamlet.xml
// c:/temp/files_to_zip/hello.pdf
// then the zip we created would contain:
// aaa/pigs.json
// bbb/base64Cert.txt
// bbb/sub1/brasil_cert.pem
// bbb/sub2/penguins.gif
// bbb/sub2/starfish.jpg
// hamlet.xml
// hello.pdf
}