Pensando en UNIX, Windows y Mac y un flujo de salida (tanto binarios y de texto),¿qué representa std :: endl exactamente en cada plataforma?
¿Qué std::endl
representan, es decir <CR><LF>
, <LF>
o <CR>
? ¿O siempre es igual sin importar qué plataforma/compilador?
La razón por la que estoy preguntando es que estoy escribiendo un cliente TCP que habla un protocolo que espera que cada comando termine en <CR><LF>
. Así que me pregunto si debo usar std::endl
o "\r\n"
en mis transmisiones.
EDITAR: Ok, entonces uno vacía el búfer y el otro no. Lo entiendo. Pero si estoy enviando texto a un archivo, ¿es '\n'
igual a <LF>
o se convierte a <CR><LF>
en Windows y <LF>
en Unix o no? No veo una respuesta clara todavía.
representante por citar la respuesta aceptada a una pregunta víctima? ¿Dónde están los quince o así SO nazis cuando los necesitas? –
@Rob Wells: Pensé en eso, pero decidí que no es diferente de citar otra fuente de referencia en mi respuesta, que es, por supuesto, perfectamente aceptable. Los votos ascendentes son para proporcionar información relevante a la pregunta en cuestión. –
Rob, no veo duplicados. Esta pregunta y la citada son ciertamente similares, pero no son duplicados exactos. Además, James agrega un resumen después de la cita para abordar específicamente esta cuestión. Además, las personas obtienen reputación por citar las respuestas que encuentran en otro lugar todo el tiempo. ¿Debería marcar una diferencia si "en otro lugar" es el mismo sitio web? ¿Estás celoso, o qué? –