diff --git a/examples/string.c b/examples/string.c new file mode 100644 index 0000000..9027bfb --- /dev/null +++ b/examples/string.c @@ -0,0 +1,15 @@ +#include + +#include "../libs/string.h" + +int main() { + string test = strInit("Hello?"); + printf("String now: %s\n", test); + strAdd(&test, " World?"); + printf("String now: %s\n", test); + strSet(&test, "Another intresting test with string"); + printf("String now: %s\n", test); + free(test); + + return 0; +} diff --git a/libs/string.h b/libs/string.h new file mode 100644 index 0000000..dde6c47 --- /dev/null +++ b/libs/string.h @@ -0,0 +1,20 @@ +#include +#include + +typedef char* string; +string strInit(char* s) { + string str = malloc(strlen(s) * sizeof(char)); + strcpy(str, s); + return str; +} +void strAdd(string* s, char* str_new) { + *s = realloc(*s, strlen(*s) + strlen(str_new)*sizeof(char)); + strcat(*s, str_new); +} +void strSet(string* s, char* str_new) { + *s = realloc(*s, strlen(str_new)*sizeof(char)); + strcpy(*s, str_new); +} +void strCopy(string* s1, string* s2) { + strcpy(*s2, *s1); +}