Пример грубого использования strcat()
с динамической памятью может выглядеть примерно так:
#include <stdio.h> // for printf
#include <string.h> // for strcat
#include <stdlib.h> // for calloc
int main()
{
char* novo_arquivo = "example_string";
// size + 3 to account for two quotes and a null terminator
char* concat_string = calloc(strlen(novo_arquivo) + 3, sizeof(*concat_string));
strcat(concat_string, "\"");
strcat(concat_string, novo_arquivo);
strcat(concat_string, "\"");
// write concat_string to a file...
printf("%s", concat_string);
free(concat_string);
}
Вы объявляете concat_string
в куче, а не в стеке, поэтому вам нужноосвободите его, когда закончите его использовать, иначе вы создадите утечку памяти.