summaryrefslogtreecommitdiff
path: root/zig-structs
diff options
context:
space:
mode:
Diffstat (limited to 'zig-structs')
-rw-r--r--zig-structs/Makefile7
-rw-r--r--zig-structs/player.json1
-rw-r--r--zig-structs/player.zig6
-rw-r--r--zig-structs/read.zig23
-rw-r--r--zig-structs/write.zig19
5 files changed, 0 insertions, 56 deletions
diff --git a/zig-structs/Makefile b/zig-structs/Makefile
deleted file mode 100644
index 9afb087..0000000
--- a/zig-structs/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
1default: write read
2
3write:
4 zig run write.zig
5
6read:
7 zig run read.zig
diff --git a/zig-structs/player.json b/zig-structs/player.json
deleted file mode 100644
index 16cdeb6..0000000
--- a/zig-structs/player.json
+++ /dev/null
@@ -1 +0,0 @@
1{"name":"Johnny Blaze","age":34} \ No newline at end of file
diff --git a/zig-structs/player.zig b/zig-structs/player.zig
deleted file mode 100644
index 6cbd354..0000000
--- a/zig-structs/player.zig
+++ /dev/null
@@ -1,6 +0,0 @@
1const std = @import("std");
2
3pub const Player = struct {
4 name: []const u8,
5 age: u8,
6};
diff --git a/zig-structs/read.zig b/zig-structs/read.zig
deleted file mode 100644
index 95d6390..0000000
--- a/zig-structs/read.zig
+++ /dev/null
@@ -1,23 +0,0 @@
1const std = @import("std");
2const player = @import("player.zig");
3
4pub fn main() !void {
5 var gpa = std.heap.GeneralPurposeAllocator(.{}){};
6 const allocator = gpa.allocator();
7 defer {
8 _ = gpa.deinit();
9 }
10
11 const file = try std.fs.cwd().openFile("player.json", .{});
12 defer file.close();
13
14 const stat = try file.stat();
15 const buffer = try file.readToEndAlloc(allocator, stat.size);
16 defer allocator.free(buffer);
17
18 const parsed = try std.json.parseFromSlice(player.Player, allocator, buffer, .{});
19 defer parsed.deinit();
20
21 const p: player.Player = parsed.value;
22 std.debug.print("Reading player with data: {{ Name: {s}, Age: {d} }}\n", .{ p.name, p.age });
23}
diff --git a/zig-structs/write.zig b/zig-structs/write.zig
deleted file mode 100644
index 9f58489..0000000
--- a/zig-structs/write.zig
+++ /dev/null
@@ -1,19 +0,0 @@
1const std = @import("std");
2const player = @import("player.zig");
3
4pub fn main() !void {
5 const p = player.Player{
6 .name = "Johnny Blaze",
7 .age = 34,
8 };
9
10 std.debug.print("Writting player with data: {{ Name: {s}, Age: {d} }}\n", .{ p.name, p.age });
11
12 var playerJSON = try std.json.stringifyAlloc(std.heap.page_allocator, p, .{});
13 defer std.heap.page_allocator.free(playerJSON);
14
15 var file = try std.fs.cwd().createFile("player.json", .{});
16 defer file.close();
17
18 _ = try file.writeAll(playerJSON);
19}