summaryrefslogtreecommitdiff
path: root/example/string.c
diff options
context:
space:
mode:
Diffstat (limited to 'example/string.c')
-rw-r--r--example/string.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/example/string.c b/example/string.c
new file mode 100644
index 0000000..fbd0943
--- /dev/null
+++ b/example/string.c
@@ -0,0 +1,34 @@
+#include "prb.h"
+
+i32 main(void)
+{
+ printf("Strings:\n");
+
+ arena_t str_arena = alloc_arena(0);
+ str8_list_t strlist = {0};
+ str8_list_push(&str_arena, &strlist, 0, str8lit("first "));
+ str8_list_push(&str_arena, &strlist, 0, str8lit("second "));
+ str8_list_push(&str_arena, &strlist, 0, str8lit("third\n"));
+ str8_print(str8lit("strlist: "));
+ str8_list_print(&strlist);
+
+ str8_t fstr = str8_pushf(&str_arena, "Formatted string: %d\n", 69);
+ str8_print(fstr);
+
+ memzero_struct(&strlist);
+ str8_list_pushf(&str_arena, &strlist, 0, "first %d -> ", 34);
+ str8_list_pushf(&str_arena, &strlist, 0, "second: %d -> ", 35);
+ str8_list_pushf(&str_arena, &strlist, 0, "sum: %d\n", 34+35);
+ str8_list_pushf(&str_arena, &strlist, 1, "%s", "To the front -> ");
+
+ str8_print(str8lit("Formatted string list:\n"));
+ str8_list_print(&strlist);
+
+ str8_t catstr = str8_list_join(&str_arena, &strlist);
+ str8_print(str8lit("Concatenated string list:\n"));
+ str8_print(catstr);
+
+ release_arena(&str_arena);
+
+ return(0);
+}