Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: csp en 18 Marzo 2014, 23:26 pm



Título: \n y endl
Publicado por: csp en 18 Marzo 2014, 23:26 pm
Buenas,

Hace un tiempo había hecho una pregunta similar, pero no quiero revivir el otro post para seguir preguntando.

Teniendo las líneas:

Código
  1. std::cout << "Linea de prueba 1" << std::endl;

Código
  1. std::cout << "Linea de prueba 2\n" << std::flush;

Más allá de que la secuencia de escape no es portable, podrían darme un ejemplo claro de algún caso donde sea necesario usar endl en vez de \n (Sin el flush)? O alguna situación donde se vea la diferencia entre las dos?

Muchas gracias.


Título: Re: \n y endl
Publicado por: ivancea96 en 18 Marzo 2014, 23:49 pm
Bueno. Recuerda que endl se usa para el cout (ostream). '\n' va más allá de eso. Es una abreviatura de un caracter. Es un caracter. Se usa, por ejemplo, para peticiones html.


Título: Re: \n y endl
Publicado por: amchacon en 19 Marzo 2014, 00:39 am
Citar
'\n' = salto de linea
endl = '\n' + flush

Yo no me preocuparía la vida, usa endl y punto ^^


Título: Re: \n y endl
Publicado por: rir3760 en 20 Marzo 2014, 03:21 am
Más allá de que la secuencia de escape no es portable
Es portable si se utiliza con un stream en modo texto (std::cout es uno de ellos) ya que la conversión entre '\n' y el carácter (o caracteres) que indiquen el avance de linea (por ejemplo '\r' + '\n',) se realiza de forma transparente.

La única diferencia es la mencionada por amchacon.

Un saludo