"correcto" depende de qué es exactamente lo que está tratando de hacer.
\ n siempre le dará un final de línea "estilo Unix". \ r \ n siempre le dará un final de línea "estilo dos". % n le dará la terminación de línea para la plataforma que está ejecutando en
C maneja esto de manera diferente. Puede elegir abrir un archivo en modo "texto" o "binario". Si abre el archivo en modo binario \ n le dará un final de línea "estilo Unix" y "\ r \ n" le dará un final de línea "dos estilo". Si abre el archivo en modo "texto" en un sistema dos/windows, cuando escriba \ n, el código de manejo del archivo lo convierte en \ r \ n. Entonces, al abrir un archivo en modo texto y al usar \ n, obtiene el final de línea específico de la plataforma.
Entiendo por qué los diseñadores de java no quisieron replicar las ideas hacky de C con respecto a los modos de archivo "texto" y "binario".
Solo una conjetura, pero: soporte multiplataforma. Los diferentes sistemas usan diferentes caracteres para líneas nuevas, p. \ n vs. \ r \ n. C# tiene Environment.NewLine para el mismo propósito. –
Java también tiene algo en Sistema, pero% n es más fácil en una impresión. –
¿Por qué java cambió esta convención c == +1, :) –