 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Ernst Baumann Guest
|
Posted: Sat Nov 18, 2006 5:29 pm Post subject: Zeilenumbruch mit ENTER innerhalb einer Zeile?? |
|
|
Hallo allerseits,
wenn ich in C++ (oder in C) eine Anweisung schreibe, wie z.B:
cout << "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
kann es sein, dass diese Zeile sehr, sehr lang wird.
Aus _optischen_ Gründen will ich diese auf mehrere Zeilen verteilen.
Wenn ich dann aber z.B. bei L einen Zeilenumbruch mache, sieht die
Anweisung wie folgt aus:
cout << "ABCDEFGHIJKL
MNOPQRSTUVWXYZ";
Leider bringt mir aber mein Compiler VC++ Vers. 6.0 eine
Fehlermeldung.
Wie kann ich die Anweisung auf mehrere Zeilen veretilen, so dass sie
der Compiler akkzeptiert ?
mfg
Ernst |
|
| Back to top |
|
 |
Rolf Magnus Guest
|
Posted: Sat Nov 18, 2006 6:55 pm Post subject: Re: Zeilenumbruch mit ENTER innerhalb einer Zeile?? |
|
|
Ernst Baumann wrote:
| Quote: | Hallo allerseits,
wenn ich in C++ (oder in C) eine Anweisung schreibe, wie z.B:
cout << "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
In C ergibt diese Zeile keinen Sinn.
| Quote: | kann es sein, dass diese Zeile sehr, sehr lang wird.
Aus _optischen_ Gründen will ich diese auf mehrere Zeilen verteilen.
Wenn ich dann aber z.B. bei L einen Zeilenumbruch mache, sieht die
Anweisung wie folgt aus:
cout << "ABCDEFGHIJKL
MNOPQRSTUVWXYZ";
Leider bringt mir aber mein Compiler VC++ Vers. 6.0 eine
Fehlermeldung.
Wie kann ich die Anweisung auf mehrere Zeilen veretilen, so dass sie
der Compiler akkzeptiert ?
|
cout << "ABCDEFGHIJKL"
"MNOPQRSTUVWXYZ"; |
|
| Back to top |
|
 |
Andre Poenitz Guest
|
Posted: Sat Nov 18, 2006 7:11 pm Post subject: Re: Zeilenumbruch mit ENTER innerhalb einer Zeile?? |
|
|
Ernst Baumann <carlox (AT) web (DOT) de> wrote:
| Quote: | Hallo allerseits,
wenn ich in C++ (oder in C) eine Anweisung schreibe, wie z.B:
cout << "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
kann es sein, dass diese Zeile sehr, sehr lang wird.
Aus _optischen_ Gründen will ich diese auf mehrere Zeilen verteilen.
Wenn ich dann aber z.B. bei L einen Zeilenumbruch mache, sieht die
Anweisung wie folgt aus:
cout << "ABCDEFGHIJKL
MNOPQRSTUVWXYZ";
|
cout << "ABCDEFGHIJKL"
"MNOPQRSTUVWXYZ";
Die Verkettung macht der Preprozessor automatisch.
Andre' |
|
| Back to top |
|
 |
P.J.Meisch Guest
|
Posted: Sat Nov 18, 2006 7:12 pm Post subject: Re: Zeilenumbruch mit ENTER innerhalb einer Zeile?? |
|
|
Ernst Baumann schrieb:
| Quote: | cout << "ABCDEFGHIJKL
MNOPQRSTUVWXYZ";
Leider bringt mir aber mein Compiler VC++ Vers. 6.0 eine
Fehlermeldung.
Wie kann ich die Anweisung auf mehrere Zeilen veretilen, so dass sie
der Compiler akkzeptiert ?
|
cout << "ABCDEFGHIJKL"
<< "MNOPQRSTUVWXYZ";
Gruß
P.J. |
|
| Back to top |
|
 |
Martin Winkler Guest
|
Posted: Sat Nov 18, 2006 7:14 pm Post subject: Re: Zeilenumbruch mit ENTER innerhalb einer Zeile?? |
|
|
Ernst Baumann wrote:
| Quote: | Hallo allerseits,
wenn ich in C++ (oder in C) eine Anweisung schreibe, wie z.B:
cout << "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
kann es sein, dass diese Zeile sehr, sehr lang wird.
Aus _optischen_ Gründen will ich diese auf mehrere Zeilen verteilen..
Wenn ich dann aber z.B. bei L einen Zeilenumbruch mache, sieht die
Anweisung wie folgt aus:
cout << "ABCDEFGHIJKL
MNOPQRSTUVWXYZ";
Leider bringt mir aber mein Compiler VC++ Vers. 6.0 eine
Fehlermeldung.
Wie kann ich die Anweisung auf mehrere Zeilen veretilen, so dass sie
der Compiler akkzeptiert ?
mfg
Ernst
|
Stringliterale können über mehrere Zeilen verteilt werden. Allerdings müssen
sie innerhalb jeder Zeile von Anführungszeichen begrenzt werden. Wenn du
also schreibst:
cout << "ABCDEFGHIJKL"
"MNOPQRSTUVWXYZ";
dann ist das gleichbedeutend mit
cout << "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
Gruß
Martin |
|
| Back to top |
|
 |
Thomas Maeder Guest
|
Posted: Sat Nov 18, 2006 8:16 pm Post subject: Re: Zeilenumbruch mit ENTER innerhalb einer Zeile?? |
|
|
Ernst Baumann <carlox (AT) web (DOT) de> writes:
| Quote: | wenn ich in C++ (oder in C) eine Anweisung schreibe, wie z.B:
cout << "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
kann es sein, dass diese Zeile sehr, sehr lang wird.
|
Ich gehe davon, dass Du die Codezeile meinst, nicht die Ausgabezeile.
| Quote: | Aus _optischen_ Gründen will ich diese auf mehrere Zeilen verteilen.
Wenn ich dann aber z.B. bei L einen Zeilenumbruch mache, sieht die
Anweisung wie folgt aus:
cout << "ABCDEFGHIJKL
MNOPQRSTUVWXYZ";
Leider bringt mir aber mein Compiler VC++ Vers. 6.0 eine
Fehlermeldung.
|
Bitte kopiere in Zukunft relevante Compilerfehler in Deine Posts.
| Quote: | Wie kann ich die Anweisung auf mehrere Zeilen veretilen, so dass sie
der Compiler akkzeptiert ?
|
std::cout << "ABCDEFGHIJKL"
"MNOPQRSTUVWXYZ"; |
|
| Back to top |
|
 |
Stefan Ram Guest
|
Posted: Sat Nov 18, 2006 11:15 pm Post subject: Re: Zeilenumbruch mit ENTER innerhalb einer Zeile?? |
|
|
Andre Poenitz <poenitz (AT) htwm (DOT) de> writes:
| Quote: | Die Verkettung macht der Preprozessor automatisch.
|
Manche sagen auch, es geschähe während der Übersetzungsphase 6
(siehe ISO/IEC ISO/IEC 14882:2003(E), 2.1). |
|
| Back to top |
|
 |
Ernst Baumann Guest
|
Posted: Sun Nov 19, 2006 2:36 am Post subject: Re: Zeilenumbruch mit ENTER innerhalb einer Zeile?? |
|
|
| Quote: | Wie kann ich die Anweisung auf mehrere Zeilen veretilen, so dass sie
der Compiler akkzeptiert ?
cout << "ABCDEFGHIJKL"
"MNOPQRSTUVWXYZ";
und was passiert, wenn du eine Anweisung nicht innerhalb einer |
Zeichenkette umbrechen willst, sondern irgendwo beliebig innerhalb der
Anweisungm wie z.B:
co
ut << "abc"
Wo gibt es Beschränkungen?
mfg
Ernst |
|
| Back to top |
|
 |
Stefan Reuther Guest
|
Posted: Sun Nov 19, 2006 3:58 am Post subject: Re: Zeilenumbruch mit ENTER innerhalb einer Zeile?? |
|
|
Ernst Baumann wrote:
| Quote: | Wie kann ich die Anweisung auf mehrere Zeilen veretilen, so dass sie
der Compiler akkzeptiert ?
cout << "ABCDEFGHIJKL"
"MNOPQRSTUVWXYZ";
und was passiert, wenn du eine Anweisung nicht innerhalb einer
Zeichenkette umbrechen willst, sondern irgendwo beliebig innerhalb der
Anweisungm wie z.B:
co
ut << "abc"
|
Fast überall, wo ein Leerzeichen stehen darf, darf auch ein Zeilen-
vorschub oder ein Kommentar stehen.
cout
/* ^^^ das ist meistens der Bildschirm */
<< /* <- das da nennt man "Inserter" */
"abc" /* und das wollen wir ausgeben. */
// außerdem muss hier noch ein Strichpunkt hin:
;
Ausnahmen betreffen vor allem den Präprozessor, also zwischen "#include"
und "<iostream>" sollte kein Zeilenvorschub stehen.
Für ganz hartnäckige Fälle gibt's allerdings noch die Möglichkeit,
Zeilen mittels Backslash aufzuteilen. Da gibt es keine Einschränkungen
mehr. Wenn du willst, kannst du also
co\
ut << "abc"
oder
#inc\
lude\
<ios\
trea\
m>
schreiben (wobei die Fortsetzungszeilen keine Leerzeichen am Anfang
haben dürfen). Das nutzt man aber ausschließlich bei der Definition
längerer Makros, weil es die einzige Möglichkeit ist, einen
Präprozessor-Befehl (hier #define) aufzuteilen.
Stefan |
|
| Back to top |
|
 |
Rolf Magnus Guest
|
Posted: Sun Nov 19, 2006 4:01 am Post subject: Re: Zeilenumbruch mit ENTER innerhalb einer Zeile?? |
|
|
Ernst Baumann wrote:
| Quote: | Wie kann ich die Anweisung auf mehrere Zeilen veretilen, so dass sie
der Compiler akkzeptiert ?
cout << "ABCDEFGHIJKL"
"MNOPQRSTUVWXYZ";
und was passiert, wenn du eine Anweisung nicht innerhalb einer
Zeichenkette umbrechen willst, sondern irgendwo beliebig innerhalb der
Anweisungm wie z.B:
co
ut << "abc"
|
co\
ut << "abc"; |
|
| Back to top |
|
 |
James Kanze Guest
|
Posted: Mon Nov 20, 2006 2:46 am Post subject: Re: Zeilenumbruch mit ENTER innerhalb einer Zeile?? |
|
|
Ernst Baumann wrote:
| Quote: | Wie kann ich die Anweisung auf mehrere Zeilen veretilen, so dass sie
der Compiler akkzeptiert ?
cout << "ABCDEFGHIJKL"
"MNOPQRSTUVWXYZ";
und was passiert, wenn du eine Anweisung nicht innerhalb einer
Zeichenkette umbrechen willst, sondern irgendwo beliebig innerhalb der
Anweisungm wie z.B:
co
ut << "abc"
Wo gibt es Beschränkungen?
|
Überall. Normallerweise dürfen Zeilenumbrüche nicht innerhalb
eines Tokens vorkommen, es sei dann, dass ein '\' direkt vor dem
Zeilenumbruch vorkommt. Zeichenketten bilden einen Sonderfall
aus---zwei nacheinander kommenden Zeichenketten werden
zusammengefügt, und als eine einzige Kette behandelt.
--
James Kanze (Gabi Software) email: james.kanze (AT) gmail (DOT) com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34 |
|
| Back to top |
|
 |
James Kanze Guest
|
Posted: Mon Nov 20, 2006 2:51 am Post subject: Re: Zeilenumbruch mit ENTER innerhalb einer Zeile?? |
|
|
Stefan Ram wrote:
| Quote: | Andre Poenitz <poenitz (AT) htwm (DOT) de> writes:
Die Verkettung macht der Preprozessor automatisch.
Manche sagen auch, es geschähe während der Übersetzungsphase 6
(siehe ISO/IEC ISO/IEC 14882:2003(E), 2.1).
|
Viele sagen auch, dass unter Präprozessor man die Phasen 1-6
versteht.
--
James Kanze (Gabi Software) email: james.kanze (AT) gmail (DOT) com
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34 |
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|