• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Mehrzeilige Strings in C/C++?

Westbär

Weißer Winterglockenapfel
Registriert
06.04.07
Beiträge
881
Huhu,
Ich schreib mir gerade einen kleinen WebServer - auf der Basis von SDL_net - und will gerade den HTTP-Header senden.
Da sich der HTTP Header über mehrere Zeilen erstreckt und ich von PHP komm mach ich das einfach so.
Code:
char *msg = "Text
Text
Text";

Wie gesagt, in C geht sowas nicht. Kann man mir eine Lösung für sowas bieten? Ich hab das schonmal gewusst aber leider vergessen :(.

Vielen Dank schonmal,

Gruß
 

nic

Bismarckapfel
Registriert
18.01.06
Beiträge
141
String Test = "1.Zeile des Textes" +

+ "2. Zeile des Textes";
 

Walli

Blutapfel
Registriert
06.01.06
Beiträge
2.605
Das setzt aber eine String-Klasse voraus, die den operator + für die Konkatenation anbietet ;) . Die hier gesuchte Lösung für char-Arrays hat Amin bereits genannt.
Code:
char const* test = "Hallo Welt!"\
                   "Hallo Apfeltalk!";
 

Westbär

Weißer Winterglockenapfel
Registriert
06.04.07
Beiträge
881
Vielen Dank, Amin!
Hat funktioniert :)
 

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
Jepp, die Lösung mit dem + entspricht in PHP einer Lösung mit dem .-Operator. Das wäre dann zwar auch eine Lösung, aber etwas ganz anderes. (Was man dann leicht erkennen kann, wenn der +-Operator eben etwas anderes machen würde als Anhängen, etwa in Strings enthaltene Zahlen addieren.)
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.060
Wie gesagt, in C geht sowas nicht. Kann man mir eine Lösung für sowas bieten?
Ganz einfach: Zeichenkette mit Anführungszeichnen in der ersten Zeile abschließen und dann mit Anführungszeichen die Zeichenkette in der zweiten Zeile fortsetzen.
Code:
char * s = "Erste Zeile"
           "Zweite Zeile";