Nachdenken über UNIX, Windows und Mac und einen Ausgangsstrom (sowohl binär und Text),Was bedeutet std :: endl genau auf jeder Plattform?
Was std::endl
darstellt, das heißt <CR><LF>
, <LF>
oder <CR>
? Oder ist es immer gleich, egal welche Plattform/Compiler?
Der Grund warum ich frage ist, dass ich einen TCP-Client schreibe, der ein Protokoll spricht, das erwartet, dass jeder Befehl in <CR><LF>
endet. Also frage ich mich, ob ich std::endl
oder "\r\n"
in meinen Streams verwenden soll.
EDIT: Ok, so löscht man den Puffer und anderen nicht. Ich verstehe das. Aber wenn ich Text in eine Datei austausche, ist '\n'
gleich <LF>
oder konvertiert es zu <CR><LF>
auf Windows und <LF>
auf Unix oder nicht? Ich sehe noch keine klare Antwort.
Rep. Für die Annahme der akzeptierten Antwort auf eine Dup Frage? Wo sind die fünfzehn oder so SO Nazis, wenn du sie brauchst? –
@Rob Wells: Ich habe darüber nachgedacht, aber entschieden, dass es nicht anders ist, als eine andere Referenzquelle in meiner Antwort zu zitieren, was natürlich vollkommen akzeptabel ist. Die Upvotes dienen der Bereitstellung von Informationen, die für die vorliegende Frage relevant sind. –
Rob, ich sehe keine Duplikate. Diese Frage und die zitierte Frage sind sicherlich ähnlich, aber sie sind keine genauen Duplikate. Darüber hinaus fügt James eine Zusammenfassung nach dem Zitat hinzu, um diese Frage speziell anzusprechen. Außerdem bekommen die Leute den Ruf, dass sie die Antworten, die sie woanders finden, immer wieder zitieren. Sollte es einen Unterschied machen, wenn "anderswo" dieselbe Website ist? Bist du eifersüchtig oder was? –