diff options
Diffstat (limited to 'comp/lucas-standen-NEA/code2/stdlib/String/String.c')
-rw-r--r-- | comp/lucas-standen-NEA/code2/stdlib/String/String.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/comp/lucas-standen-NEA/code2/stdlib/String/String.c b/comp/lucas-standen-NEA/code2/stdlib/String/String.c index 2814a1c..6f11119 100644 --- a/comp/lucas-standen-NEA/code2/stdlib/String/String.c +++ b/comp/lucas-standen-NEA/code2/stdlib/String/String.c @@ -11,6 +11,16 @@ void __stringfree(string *self){ free(self); } +void __stringprint(string *self){ + printf("%s\n", self->_str); +} + +void __stringinput(string *self, size_t len){ + char *tmp = calloc(0, len); + fgets(tmp, len, stdin); + self->fromcstring(self, tmp); +} + void __stringappendchar(string *self, char c){ self->_len++; self->_str = realloc(self->_str, self->_len); @@ -132,6 +142,8 @@ string *String(char *cstring){ // returns an allocated String from a C string in str->fromcstring = &__stringfromcstring; str->tocstring = &__stringtocstring; str->split = &__stringsplit; + str->print = &__stringprint; + str->input = &__stringinput; return str; } |