Supongo que has querido poner
"\n" y no
"|n", ¿verdad?
Hablando siempre de un ofstream abierto en modo texto, eh:
El código para escribir un salto de línea es el mismo en Windows y en Linux (o donde sea), es siempre
La diferencia está en qué hace el compilador de Linux o el compilador de Windows con eso.
En linux va a tomar tu "\n" y lo va a escribir en el archivo tal cual como está, sin cambios.
En windows no, va a leer en tu código fuente que has puesto un "\n" y lo va a "completar" escribiendo la secuencia "\r\n".
Entonces, con exactamente el mismo código fuente:
Si el archivo lo has generado en linux, el final de cada línea va a ser un "\n".
Si por el contrario, al archivo lo has generado en windows, el final de cada línea va a ser el par "\r\n".
Y esa diferencia no depende de tí, depende de en qué sistema operativo se haya compilado ese fuente.
O sea: exactamente el mismo código fuente generará dos archivos de texto distintos. Así como suena. Si fuera necesario que los archivos generados sean idénticos, habrá que generarlo con un ofstream abierto en modo binario, y ahí, es uno el que decide si le va a poner un "\n" o el par "\r\n".