Welchen Teil der C++ IO-Streams macht die \r
zu \r\n
Umwandlung? Ist es die stream_buf
selbst oder ist es Teil der internen zu externen Kodierung Umwandlung von codecvt
Facette?Streams, Stream_Bufs, Codecvt Facetten und n r n Übersetzung
UPDATE 1
Sie alle sagen, dass es in streambuf/filebuf erfolgt. OK. Aber wie behandelt diese Anordnung z. B. externe Codierungen wie UTF-16? Dann scheint es, dass die Datei mit ios::binary
Flag geöffnet werden muss, die die Übersetzung deaktiviert.
Sollte das nicht "\ n" zu "\ r \ n" Umwandlung sein? Normalerweise erhalten Sie von portablem Code ein '\ n' und Sie müssen den Zeilenvorschub für" windows like "Darstellungen voranstellen. –
Um das zusätzliche '\ r' voranzustellen hat nichts mit der verwendeten Zeichencodierung zu tun, es ist immer noch ein extra Zeichen. Das "\ r" steuert einen Terminal-Schreibcursor, der bei einigen Terminals mit der Spalte 0 beginnt. 'codecvt' steuert, wie viele Bytes für die Codierung eines einzelnen Zeichens verwendet werden. –