¿Qué parte de las transmisiones de C++ IO realiza la conversión \r
a \r\n
? ¿Es el stream_buf
mismo o es parte de la conversión de codificación interna a externa por codecvt
faceta?streams, stream_bufs, codecvt facets y n to r n traducción
ACTUALIZA 1
Todos ustedes dicen que se hace en streambuf/filebuf. De acuerdo. Pero, ¿cómo se trata este arreglo, por ejemplo, codificaciones externas como UTF-16? Entonces parece que el archivo debe abrirse con el indicador ios::binary
que deshabilita la traducción.
¿No debería ser la conversión '\ n' a' \ r \ n'? Por lo general, lo que obtendrá de un código portátil es '\ n' y debe anteponer el salto de línea para las representaciones de" ventanas similares ". –
Para anteponer el '\ r' adicional no tiene nada que ver con la codificación de caracteres utilizada, sigue siendo un personaje adicional. El '\ r' controla un cursor de escritura del terminal para comenzar en la columna 0 para algunos terminales. 'codecvt' controla cuántos bytes se usan para codificar un único carácter. –