Sample code for 30+ languages & platforms
Zig

Decompress Gzip Data from BinData Directly to a File

See more Gzip Examples

This example demonstrates how to use the UncompressBdToFile method to decompress Gzip data stored in a BinData object and write the uncompressed output directly to a file.

The compressed .gz data is first loaded into memory using a BinData object. The UncompressBdToFile method then decompresses the data and writes the result directly to the specified file, without modifying the contents of the BinData object.

This approach is useful when you want to extract compressed data to disk without performing an in-place transformation or managing intermediate buffers.

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();

    // This example demonstrates how to decompress Gzip data stored in a BinData object
    // and write the uncompressed output directly to a file.

    const gzip = try chilkat.Gzip.init();
    defer gzip.deinit();
    const bd = try chilkat.BinData.init();
    defer bd.deinit();

    // Load a .gz file into BinData:
    bd.loadFile("example.txt.gz") catch {
        std.debug.print("{s}\n", .{try bd.getLastErrorText(alloc)});
        return;
    };

    std.debug.print("Loaded Gzip data into memory.\n", .{});

    // Uncompress the Gzip data and write directly to a file:
    gzip.uncompressBdToFile(bd, "example.txt") catch {
        std.debug.print("{s}\n", .{try gzip.getLastErrorText(alloc)});
        return;
    };

    std.debug.print("File successfully uncompressed to example.txt\n", .{});
}