Вам нужно использовать strcat
вместо strcpy
. strcpy
замените содержимое str
на результат vector_get()
, когда strcat
объединит str
и vector_get()
.
Это должно решить вашу проблему:
char str[vector_total(&final_clause)];
char *result = NULL;
str[vector_total(&final_clause)] = '\0;
for(int i = 0; i<vector_total(&final_clause); i++)
{
printf("%s ", (char*) vector_get(&final_clause,i)); // outputs b a -c a a -c -c
result = realloc(result, (sizeof(char) * strlen(vector_get(&final_clause,i));
result = strcat(result, (char*) vector_get(&final_clause,i));
}
printf("%s", str);
remove_repeatation(str);