mirror of
https://codeberg.org/andyscott/advent-of-code.git
synced 2024-12-22 01:23:11 -05:00
21 lines
793 B
Zig
21 lines
793 B
Zig
const std = @import("std");
|
|
const print = std.debug.print;
|
|
|
|
pub fn readAllInput(day: u8, allocator: std.mem.Allocator) ![]const u8 {
|
|
var fileName: [16]u8 = undefined;
|
|
const inputFile = try std.fmt.bufPrint(&fileName, "day{d}.txt", .{day});
|
|
const file = try std.fs.cwd().openFile(inputFile, .{});
|
|
defer file.close();
|
|
const stat = try file.stat();
|
|
return try file.reader().readAllAlloc(allocator, stat.size);
|
|
}
|
|
|
|
pub fn inputToArrayList(comptime T: type, allocator: std.mem.Allocator, input: []const u8) !std.ArrayList(T) {
|
|
var out = std.ArrayList(T).init(allocator);
|
|
errdefer out.deinit();
|
|
var items = std.mem.tokenizeScalar(u8, input, ' ');
|
|
while (items.next()) |item| {
|
|
try out.append(try std.fmt.parseInt(T, item, 10));
|
|
}
|
|
return out;
|
|
}
|