Wie sagt man so etwas?Eine große Zeichenfolge trennen
static const string message = "This is a message.\n
It continues in the next line"
Das Problem ist, wird die nächste Zeile als Teil der Zeichenfolge nicht werden ..
Wie zu beheben, dass erkannt? Oder ist die einzige Lösung, um ein Array von Strings zu erstellen und dann das Array zu initialisieren, um jede Zeile zu halten?
Genauer gesagt, der Präprozessor wird. – ephemient
@ephemient: Eigentlich ist der Präprozessor nicht die Ebene, die das tut. Sie können dies selbst testen, indem Sie eine kleine App erstellen und mit "gcc -E test.c" kompilieren. Dadurch wird das Ergebnis des Präprozessors ausgegeben. Sie werden feststellen, dass die Strings immer noch getrennt sind. Es ist der Compiler selbst, der die Verkettung der benachbarten String-Konstanten * nicht * des Präprozessors ausführt. –
@ephemient: tatsächlich hat der C99-Standard eine Anmerkung in dem Abschnitt bezüglich des Präprozessors: "148) Beachten Sie, dass benachbarte String-Literale nicht zu einem einzigen String-Literal verkettet werden (siehe die Übersetzungsphasen in 5.1.1.2); Eine Erweiterung, die zu zwei Zeichenfolgenliteralen führt, ist eine ungültige Anweisung. " –