Aiuto con concatenazione char*

C'è un problema di fondo con char*. L'uso del carattere "" istruisce il compilatore a memorizzare l'indirizzo di partenza di una stringa costante salvata in memoria. Tale stringa non può essere alterata. Devi usare o un array char[] oppure copiarti la stringa char in un'altra area di memoria.
Alternativamente potresti costruire le tue stringhe di tipo String, manipolarle, e poi convertirle in char[].