:3
#ifndef STRING_XLEEK_H
#define STRING_XLEEK_H
#include <stdlib.h>
#include <string.h>
typedef struct string
{
char* str;
int lenght;
} string;
void string_init(string* s)
{
s->lenght = 0;
s->str = malloc(1 * sizeof(char));
s->str[0] = '\0';
}
void string_free(string* s)
{
free(s->str);
s->lenght = 0;
}
void string_set(string* s, const char* c)
{
if(s->lenght > 0)
free(s->str);
s->lenght = strlen(c);
s->str = malloc(s->lenght * sizeof(char) + 1);
strcpy(s->str, c);
}
void string_apps(string* s, string* o)
{
int last = s->lenght;
s->lenght += o->lenght;
s->str = realloc(s->str, s->lenght * sizeof(char) + 1);
strcpy(s->str + last, o->str);
}
void string_appc(string* s, const char* o)
{
string so;
string_set(&so, o);
string_apps(s, &so);
}
#endif