• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> 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.059
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";