#pragma once #include struct string { size_t len, cap; char *data; // null-terminated }; struct string string_make(const char *str); void string_free(struct string s); // Do not modify the length of the string. char* string_read(struct string s); // Returns original length. size_t string_append(struct string *s, char *arg); void string_truncate(struct string *s, size_t length);