Es gibt eine strcat () - Funktion aus der portierten C-Bibliothek, die die Verkettung von "C-Stil-Zeichenfolgen" für Sie übernimmt.
Übrigens, obwohl C ++ eine Reihe von Funktionen für den Umgang mit Zeichenfolgen im C-Stil hat, könnte es für Sie von Vorteil sein, wenn Sie versuchen, eine eigene Funktion zu entwickeln, die dies tut, etwa:
char * con(const char * first, const char * second) {
int l1 = 0, l2 = 0;
const char * f = first, * l = second;
// step 1 - find lengths (you can also use strlen)
while (*f++) ++l1;
while (*l++) ++l2;
char *result = new char[l1 + l2];
// then concatenate
for (int i = 0; i < l1; i++) result[i] = first[i];
for (int i = l1; i < l1 + l2; i++) result[i] = second[i - l1];
// finally, "cap" result with terminating null char
result[l1+l2] = '\0';
return result;
}
...und dann...
char s1[] = "file_name";
char *c = con(s1, ".txt");
... das Ergebnis davon ist file_name.txt.
Sie könnten auch versucht sein, Ihre eigenen zu schreiben, operator +jedoch werden IIRC-Operatoren nur mit Zeigern überladen, da Argumente nicht zulässig sind.
Vergessen Sie auch nicht, dass das Ergebnis in diesem Fall dynamisch zugewiesen wird. Sie können daher delete aufrufen, um Speicherverluste zu vermeiden, oder Sie können die Funktion so ändern, dass ein vom Stapel zugewiesenes Zeichenarray verwendet wird, vorausgesetzt, es hat natürlich eine ausreichende Länge.