\n - endl - Probleme bei Ausgabe in File, Zeilenende nicht gleich Zeilenende
-
Hallo!
Ich habe folgendes Problem, ich möchte eine URL-Liste generieren und in eine Textdatei ausgeben. Soweit kein Problem, nur die erzeugte Datei wird in meinem Downloadmanager nicht angenommen, da er scheinbar Probleme mit dem in der Datei verwendeten Zeilenende Zeichen hat. Ich habe einmal verglichen wie eine Datei aussieht, die er annimmt, und bin zu folgendem Schluss gekommen:In der von mir erzeugten Datei habe ich einfach für das Zeilenende endl verwendet, was einen hexcode von 0A also 10 ergeben hat.
Das vom Downloadmanager akzeptierte Format ist aber 0D 0A, also 13 und 10...
Um das ganze zu erreichen habe ich einfach ...<<char(13)<<char(10) genutzt, aber gibt es auch eine einfachere Möglichkeit ein derartiges Zeilenende zu erzeugen?Weiss hier jemand weiter? Mache ich vielleicht einfach etwas falsch?
-
In Windows wird das Zeilenende in einem Text für gewöhnlich durch ein "carriage return" und ein "new line zeichen" gekennzeichnet. Du könntest statt <<char(13)<<char(10) <<"\r\n" schreiben.
-
Das ist genau das wonach ich gesucht habe.
Vielen Dank!
-
Besser wäre natürlich noch wenn Du Textdateien nicht binär öffnest, dann reicht auch ein einfaches '\n' bzw. endl...
-
Wo wir gerade bei dem Thema sind, ich benutze in Windows immer ein einfaches
endl oder '\n', wird das automatisch nach '\r\n' umgewandelt? Und wenn ja von
wem?
-
@SirLant
AFAIK passiert das nur im Textmodus. Wenn du Binär liest/schreibst, dann wird das eben nicht umgewandelt.Ich nehme mal an, dass die Umwandlung im Stream passiert.