From c7cd286be9d4ede3129a309e2668686be4646f07 Mon Sep 17 00:00:00 2001 From: Mitja Felicijan Date: Thu, 19 Sep 2024 14:01:34 +0200 Subject: Added saving of struct to file in Zig and reading it back --- zig-structs/Makefile | 7 ------- zig-structs/player.json | 1 - zig-structs/player.zig | 6 ------ zig-structs/read.zig | 23 ----------------------- zig-structs/write.zig | 19 ------------------- 5 files changed, 56 deletions(-) delete mode 100644 zig-structs/Makefile delete mode 100644 zig-structs/player.json delete mode 100644 zig-structs/player.zig delete mode 100644 zig-structs/read.zig delete mode 100644 zig-structs/write.zig (limited to 'zig-structs') 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 @@ -default: write read - -write: - zig run write.zig - -read: - 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 @@ -{"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 @@ -const std = @import("std"); - -pub const Player = struct { - name: []const u8, - age: u8, -}; 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 @@ -const std = @import("std"); -const player = @import("player.zig"); - -pub fn main() !void { - var gpa = std.heap.GeneralPurposeAllocator(.{}){}; - const allocator = gpa.allocator(); - defer { - _ = gpa.deinit(); - } - - const file = try std.fs.cwd().openFile("player.json", .{}); - defer file.close(); - - const stat = try file.stat(); - const buffer = try file.readToEndAlloc(allocator, stat.size); - defer allocator.free(buffer); - - const parsed = try std.json.parseFromSlice(player.Player, allocator, buffer, .{}); - defer parsed.deinit(); - - const p: player.Player = parsed.value; - std.debug.print("Reading player with data: {{ Name: {s}, Age: {d} }}\n", .{ p.name, p.age }); -} 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 @@ -const std = @import("std"); -const player = @import("player.zig"); - -pub fn main() !void { - const p = player.Player{ - .name = "Johnny Blaze", - .age = 34, - }; - - std.debug.print("Writting player with data: {{ Name: {s}, Age: {d} }}\n", .{ p.name, p.age }); - - var playerJSON = try std.json.stringifyAlloc(std.heap.page_allocator, p, .{}); - defer std.heap.page_allocator.free(playerJSON); - - var file = try std.fs.cwd().createFile("player.json", .{}); - defer file.close(); - - _ = try file.writeAll(playerJSON); -} -- cgit v1.2.3