Christian Kruse: Was bedeutet \r? Wo finde ich Hilfen zu Kürzeln?

Beitrag lesen

Hallo Sven,

Ok, die Dateioperationen sind nochmal was ganz anderes.

Nein ;)

Die Tatsache, dass in den Useranmerkungen dazu keinerlei
Diskussion herrscht deutet darauf hin, dass es wohl
tatsächlich so ist.

Das habe ich nie bestritten. Wenn du nachliest, wirst du
feststellen, dass ich gesagt habe, dass \n konvertiert wird
nach \015\012.

Hier wird ein einzelnes LF-Zeichen in eine Datei
geschrieben, die im Textmodus (sofern das OS diese
Unterscheidung macht) zum Schreiben geöffnet wurde.
Dadurch wird das LF konvertiert in ein CRLF (zwei Bytes),
die sich im Hexdump auch so zeigen.

Richtig.

$fd = fopen("file.dat.binary",'wb');
fwrite($fd,"\n");
fclose($fd);

file.dat.binary:
0000000 000a
0000001

Hier hingegen wird ein einzelnes LF-Zeichen in eine Datei
geschrieben, die im Binärmodus geöffnet wurde und deshalb
keinerlei Konvertierung stattfindet. Erwartungsgemäß wird
das im String enthaltene einzelne Byte des LF in die Datei
geschrieben.

Richtig.

Du hast bewiesen, dass "\n" unter PHP immer ein einzelnes
LF-Zeichen ist - wie könnte es sonst allein in die
Binärdatei gelangen.

Du hast mich nicht verstanden.

Wäre "\n" plattformabhängig mal LF, und mal CRLF, dann
müßte in beiden Hexdumps mindestens ein CRLF auftauchen.

\n *ist* plattformabhaengig. Oben bewiesen.

Davon aber ganz unabhängig ist die Tatsache, dass
Dateioperationen am Zeilenendekennzeichen durchaus
rumfummeln können. Die diesbezügliche Aussage ist also
zumindest nicht vollständig korrekt - ich könnte auch
"falsch" sagen.

Nein, du hast sie nur nicht richtig verstanden ;) Du
widersprichst mir nicht einmal in deinem Posting. Im
Gegenteil. Du bekraeftigst, was ich gesagt habe.

Gruesse,
 CK

--
http://cforum.teamone.de/
http://wishlist.tetekum.de/
If God had meant for us to be in the Army, we would have been born with green, baggy skin.