Sample code for 30+ languages & platforms
Zig

Create Symbolic Link

See more FileAccess Examples

Demonstrates how to create a symbolic (soft) link.

Note: This example requires Chilkat v9.5.0.77 or greater.

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

    // Chilkat supports symbolic links on both Windows and non-Windows operating systems.
    // Note: On Windows, symbolic links and Windows shortcuts are two different things.
    // On the Windows operating system, a process requires a special privilege to create
    // a symbolic link (unless running as administrator).

    const fac = try chilkat.FileAccess.init();
    defer fac.deinit();

    // Here we create a symbolic link to point to qa_data/hamlet.xml
    //
    var target: [:0]const u8 = "qa_data/hamlet.xml";
    var symlink: [:0]const u8 = "qa_output/symlink_hamlet.xml";
    fac.symlinkCreate(target, symlink) catch {
        std.debug.print("{s}\n", .{try fac.getLastErrorText(alloc)});
        return;
    };

    // Here we create a directory symbolic link.  The target is a directory (not a regular file)
    target = "qa_data/xml/";
    symlink = "qa_output/xml_dir";
    fac.symlinkCreate(target, symlink) catch {
        std.debug.print("{s}\n", .{try fac.getLastErrorText(alloc)});
        return;
    };

    std.debug.print("Success.\n", .{});
}