Zig
Zig
Generating Random ASCII Strings
See more PRNG Examples
Demonstrates how to generate random us-ascii strings.Chilkat Zig Downloads
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)});
}
}