Quale parte dei flussi di C++ IO esegue la conversione da \r
a \r\n
? È lo stream_buf
stesso o fa parte della conversione di codifica interna a esterna da codecvt
facet?flussi, stream_bufs, faccette codecvt e n per r n traduzione
UPDATE 1
Voi tutti dicono che si è fatto in streambuf/filebuf. Ok. Ma come si comporta questa disposizione, ad es. Codifiche esterne come UTF-16? Quindi sembra che il file debba essere aperto con il flag ios::binary
che disabilita la traduzione.
Non dovrebbe essere '\ n' a' \ r \ n' conversione? Di solito ciò che otterrai dal codice portatile è un '\ n' e devi anteporre il feed di riga alle rappresentazioni di" finestre simili ". –
Per anteporre l'extra '\ r' non ha nulla a che fare con la codifica dei caratteri usati, è pur sempre un personaggio extra. '\ R' controlla un cursore di scrittura del terminale per iniziare dalla colonna 0 per alcuni terminali. 'codecvt' controlla quanti byte sono usati per codificare un singolo carattere. –