Поскольку стандартные функции C убоги до невозможности — решил набыдлокодить свой велосипед для удобной конкатенации строк в количестве более двух:
char* str_concat(char *str_arr[])
{
char str[256] = "";
for (int i=0; ; i++)
{
if (str_arr[i] == NULL) break;
//printf("%s", str_arr[i]);
strcat(str, str_arr[i]);
}
//printf("%s", str);
char *out = (char*)malloc(sizeof(char)*(strlen(str)));
strcpy(out, str);
return out;
}
char *arr[] = {"Строка1", "Строка2", …, "СтрокаN", NULL};
printf("%s\n", str_concat(arr));