Sample code for 30+ languages & platforms
Zig

Generating Random ASCII Strings

See more PRNG Examples

Demonstrates how to generate random us-ascii strings.

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.

    success = false;

    const fortuna = try chilkat.Prng.init();
    defer fortuna.deinit();

    var b_digits: bool = false;
    var b_lowercase: bool = false;
    var b_uppercase: bool = false;

    // Generate random strings having only lowercase chars (a-z)
    // Disallow digits and uppercase and only allow lowercase
    b_digits = false;
    b_uppercase = false;
    b_lowercase = true;

    var i: i32 = 0;

    std.debug.print("-- only lowercase alpha (a-z)\n", .{});
    i = 1;
    while (i <= 10) : (i += 1) {
        // Generate 20-character strings.
        std.debug.print("{s}\n", .{try fortuna.randomString(alloc, 20, b_digits, b_lowercase, b_uppercase)});
    }

    // Allow both lowercase and uppercase alpha chars
    b_uppercase = true;
    std.debug.print("-- lower and uppercase alpha (a-zA-Z)\n", .{});
    i = 1;
    while (i <= 10) : (i += 1) {
        // Generate 20-character strings.
        std.debug.print("{s}\n", .{try fortuna.randomString(alloc, 20, b_digits, b_lowercase, b_uppercase)});
    }

    // Allow digits (0-9)
    b_digits = true;
    std.debug.print("-- digits and lower/uppercase alpha (0-9a-zA-Z)\n", .{});
    i = 1;
    while (i <= 10) : (i += 1) {
        // Generate 20-character strings.
        std.debug.print("{s}\n", .{try fortuna.randomString(alloc, 20, b_digits, b_lowercase, b_uppercase)});
    }

    // Allow only digits (0-9)
    b_uppercase = false;
    b_lowercase = false;
    std.debug.print("-- only digits (0-9)\n", .{});
    i = 1;
    while (i <= 10) : (i += 1) {
        // Generate 20-character strings.
        std.debug.print("{s}\n", .{try fortuna.randomString(alloc, 20, b_digits, b_lowercase, b_uppercase)});
    }
}