Eine der Antworten a Warum verwenden Sie nicht C für Ihre Webanwendungen? enthält die folgenden Informationen:
Für das unten stehende C-Crap-Beispiel:
const char* foo = "foo"; const char* bar = "bar"; char* foobar = (char*)malloc(strlen(foo)+strlen(bar)+1); strcpy(foobar, foo); strcat(foobar, foo);
Eigentlich KÖNNEN UND SOLLTEN Konstanten in C natürlich verkettet werden:
const char foo[] = "foo"; const char bar[] = "bar"; char foobar[] = foo bar; // look Ma, I did it without any operator!
Und wenn Sie [] statt * verwenden, können Sie sogar die Zeichenkette ändern oder ihre Länge ermitteln:
int foo_str_len = sizeof(foobar)-1;
Also BITTE, bevor Sie (fälschlicherweise) behaupten, dass C schwierig mit Strings zu verwenden ist, lernen Sie, wie man C verwendet.
Ich habe es selbst versucht, erhalte aber eine Fehlermeldung:
erwartetes ',' oder ';' vor String-Konstante
Meine Frage ist also: Muss ich dem Compiler etwas mitteilen, damit dies funktioniert, oder ist der obige Beitrag einfach falsch? Bitte beachten Sie, dass ich andere Möglichkeiten zur Verkettung von Zeichenarrays in C kenne.