Wofür steht \r beim Programmieren?

5 Antworten

Wie bereits in den anderen Antworten erwähnt sind sowohl \r als auch \n bestimmte Escape-Zeichen.

Das Zeichen "\n" steht für ((char)10) und "\r" für ((char)13).

Mit "\r\n" hat es folgendes auf sich:

Unter Unix und ähnlichen Systemen (z.B. Linux und MacOS X) führt Zeichen 10 zu einem Zeilenumbruch während Zeichen 13 dazu führt, dass der Cursor an den Zeilenanfang springt.

Bei Windows fürt Zeichen 13 dazu, dass der Cursor zum Zeilenanfang springt und Zeichen 10 dazu, dass der Cursor sich eine Zeile nach unten bewegt.

(Bei alten Homecomputern und MacOS-Versionen war übrigens das Zeichen 13 der Zeilenumbruch.)

Der folgende Code:

printf("Hello\n");
printf("World\n");

Würde unter Windows also zu folgender Ausgabe führen:

Hello
World

Da die Programmiersprache C für Unix entwickelt worden ist, haben die meisten Compiler für Windows bei den meisten Befehlen (z.B. printf) eine Erkennung eingebaut, die automatisch ein "\n" durch ein "\r\n" ersetzt, was zu einem wirklichen Zeilenumbruch führt, so dass Unix-C-Programme auch unter Windows funktionieren.

Diese Erkennung kann man allerdings nicht immer verwenden: Befehle, mit denen man auch Binärdaten (z.B. Bilddateien) bearbeiten kann, haben diese Erkennung natürlich nicht. Daher muss man die Kombination "\r\n" manuell eingeben, wenn man mit solchen Befehlen arbeitet.

Sehr schöne Antwort! DH! :)

Ich hatte vor ca. einem halben Jahr mal einen Crawler geschrieben, dir nur die Zeilenumbrüche untersucht, und dabei festgestellt, dass viele Websites ziemlich wirr gemischt sind.

Zum Beispiel endeten einige Zeilen des HTML-Quelltextes auf Golem.de mit "\n", andere mit "\r\n" und wieder andere mit "\r". Also haben die Leute, die dort am CMS / Layout / Design gearbeitet haben, offensichtlich unter Windows, Linux und am Mac gearbeitet. :)

Davon sieht man normalerweise nichts, wenn man sich den Quelltext anzeigen lässt, da sowieso fast alle Editoren diese Zeichen vereinheitlichen oder an die jeweilige Plattform anpassen.

Den Crawler habe ich übrigens nur gebaut, weil ich mal sehen wollte, ob es in freier Wildbahn tatsächlich Websites gibt, die "\r" als Zeilentrenner benutzen. Und da gibt es tatsächlich sehr viele. :)

Was mich dann noch sehr verwundert hat war, dass ich auch auf "\n\r" gestoßen bin. Und zwar gar nicht mal so selten. Ich hatte dabei erst an einem Bug (z. B. "\n" + "\r\n") gedacht, aber solche Websites haben wirklich konsequent "\n\r" als Zeilentrenner eingesetzt. Muss wohl irgend etwas handgestricktes gewesen sein. :)

Das gleiche gilt für die HTTP-Header von Serverantworten. Die liefern auch oft nur "\n" statt "\r\n" aus. :)

Lange Rede, kurzer Sinn: Man stößt tatsächlich auf "\r", "\n", "\r\n" und "\n\r" als Zeilentrenner. Nach den neuen Unicode-Zeilentrennern habe ich aber noch nicht gesucht ... das wären dann gleich nochmal 3 oder 4 weitere Möglichkeiten, aber die verwendet meines Wissens nach (noch) kein Editor. :)

0

\r ist ein sog. "Carriage Return", d.h. dass der Cursor, nachdem das Zeichen verarbeitet wurde, zurück an den Anfang der Zeile springt.

Ist z.B.nützlich, um in der Konsole den Fortschritt einer etwas länger dauernden Operation anzuzeigen.

Es gibt Carriage Return \r (Zurück auf Anfang der Zeile) und Line Feed \n (neue Zeile). Wobei es zumindest auf Windows keine Rolle spielt was man verwendet - es genügt eines davon. Es wird immer eine neue gemacht und auf den Anfang gesprungen.

Falsch. Auch auf Windows-System bedeutet das \r - Zeichen nicht, dass man in die nächste Zeile springt, sondern an den Anfang.

0

Abiball - Smoking wie kombinieren etc.?

Hallo, ich mache nächstes Jahr Abitur und habe angefangen, mich über Anzüge und Smokings für einen Abiball zu informieren.

Im Internet habe ich gelesen, dass man einen Smoking mit Fliege wählen sollte, da dies festlicher sei als ein Anzug mit Krawatte sei.

Ich habe einen gefunden, der mir auf den Bildern gefällt (siehe Fotos).
Angenommen, ich würde mir so einen Smoking (von der Art her und in der Farbe) kaufen, 1️⃣würdet ihr dazu dann so ein weißes Hemd empfehlen, wie es auf dem Bild zu sehen ist?

2️⃣Und was für Schuhe trägt man dazu, wenn man eben einen Abiball hat und evtl. etwas Außergewöhnliches tragen möchte?

3️⃣Wie kann man z. B. eine Kette oder so als Desinelement am Smoking befestigen und was würdet ihr als Designelement wählen? (Anstecknadel, Anstecktuch, Kette)

Zwei Fragen hätte ich noch: 4️⃣Kommen die meisten ehr im Smoking oder im Anzug?

5️⃣Kann man so einen Smoking auch zu einem Vorstellungsgespräch anziehen?

Danke :)

...zur Frage

Wow Schlacht um Orgrimmar 1 Boss Tod?

Halle ich bin 108 ArkanMage und bin in den Dungeon Die Schlacht um Orgrimmar reinspaziert, ich habe mehrere Male versucht den Boss zu töten, als er eigentlich tot sein sollte bin ich auf einmal gestorben.

Wie besiege ich den Boss?

...zur Frage

was bedeutet JB?

die schwester meiner kollegin hat auf ihr pult i love JB geschrieben und gestern habe ich ein mädchen mit einer JB mütze gesehen, sehe auch auf mtv immer wieder diese neue marke. wofür steht denn JB'? ist das ne neue mode?

...zur Frage

Ist bei der "Bosstransformation" unbedingt ein Fitnessstudio nötig?

...zur Frage

Für programmieren Minecrafts Source-Code bekommen?

Hallo, ich lerne seit einiger Zeit das Programmieren durch Minecraft Mods, das Problem ist nur, dass ich den Source-Code von Minecraft bei dem Setup des Workspaces nicht mitbekommen habe und ich möchte nun wissen, wie ich diesen nachträglich bekomme, denn nochmal ein anderes Workspace zu benützen funktioniert auch nicht. Als Bild werde ich noch das Eingabefenster hinzufügen, welches mir sagt, dass das Setup fehlschlug.

...zur Frage

Atari 2600 Spiele dekompilieren

Hallo liebe Community ich würde gerne wissen wie ich Atari 2600 Spiel bzw Roms dekompilieren kann so dass ich den Source Code sehen kann so wie die Programmieren damals

...zur Frage

Was möchtest Du wissen?