Utils
This commit is contained in:
28
src/utils/loadpuzzle.zig
Normal file
28
src/utils/loadpuzzle.zig
Normal file
@@ -0,0 +1,28 @@
|
||||
const std = @import("std");
|
||||
|
||||
pub fn readFile(allocator: std.mem.Allocator, path: []const u8) ![]u8 {
|
||||
var file = try std.fs.cwd().openFile(path, .{});
|
||||
defer file.close();
|
||||
|
||||
var fatfuckingstr = std.Io.Writer.Allocating.init(allocator);
|
||||
defer fatfuckingstr.deinit();
|
||||
|
||||
var buffer: [1024]u8 = undefined;
|
||||
|
||||
var reader = file.reader(&buffer);
|
||||
|
||||
const actual_reader = &reader.interface;
|
||||
|
||||
_ = try actual_reader.stream(&fatfuckingstr.writer, .unlimited);
|
||||
|
||||
return fatfuckingstr.toOwnedSlice();
|
||||
}
|
||||
|
||||
test "reader_test" {
|
||||
const alloc = std.testing.allocator;
|
||||
|
||||
const contents = try readFile("test.txt", alloc);
|
||||
defer alloc.free(contents);
|
||||
|
||||
try std.testing.expectEqualStrings("Hello World!", contents);
|
||||
}
|
||||
Reference in New Issue
Block a user