summaryrefslogtreecommitdiff
path: root/examples/standard_lib/ex_std.c
diff options
context:
space:
mode:
authorOmniscient <17525998+omnisci3nce@users.noreply.github.com>2024-02-25 13:49:12 +1100
committerOmniscient <17525998+omnisci3nce@users.noreply.github.com>2024-02-25 13:49:12 +1100
commit938f745f052c14fccaa987b98ea4ac84e70c1fcc (patch)
treefe49ddad815c65ef0deb87dd76e172051e6c49e7 /examples/standard_lib/ex_std.c
parentda13dc8b030b9c0ed4805dca9dab3c280583a91f (diff)
chore: format
Diffstat (limited to 'examples/standard_lib/ex_std.c')
-rw-r--r--examples/standard_lib/ex_std.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/examples/standard_lib/ex_std.c b/examples/standard_lib/ex_std.c
new file mode 100644
index 0000000..9d474de
--- /dev/null
+++ b/examples/standard_lib/ex_std.c
@@ -0,0 +1,30 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include "file.h"
+#include "str.h"
+
+int main() {
+ // Examples of how to work with arenas and strings
+ size_t arena_size = 1024;
+ arena scratch = arena_create(malloc(arena_size), arena_size);
+ arena* a = &scratch;
+
+ str8 hello = str8lit("Hello World");
+
+ // this works but we should be careful because str8 is not *guaranteed* to point to
+ // a null-terminated string
+ printf("String before: '%s' (null-terminated: %s) \n ", hello.buf,
+ str8_is_null_term(hello) ? "true" : "false");
+
+ char* c = str8_to_cstr(&scratch, hello);
+
+ printf("String after: %s\n", c);
+
+ str8_opt test_file = str8_from_file(&scratch, str8lit("assets/shaders/ui_rect.vert"));
+ if (test_file.has_value) {
+ printf("Contents: %.*s \n", (int)test_file.contents.len, test_file.contents.buf);
+ printf("Null-terminated: %s\n", str8_is_null_term(test_file.contents) ? "true" : "false");
+ }
+
+ return 0;
+}