Autor
|
Tema: [EDITADO][C++] \n y endl (Leído 11,468 veces)
|
csp
Desconectado
Mensajes: 35
|
Buenas,
Cuál es la diferencia entre usar \n y std:endl? Tengo entendido que hacen algo muy similar (ambos pasan el cursor a la línea siguiente), pero no logro entender la diferencia.
Muchas gracias. Un saludo.
|
|
« Última modificación: 15 Septiembre 2013, 01:47 am por csp »
|
En línea
|
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
La secuencia para generar un salto de línea es algo dependiente del sistema operativo. Es decir, no es igual para Windows, Linux o Mac.
std::endl encapsula ese cambio y te proporciona la secuencia adecuada independientemente del sistema operativo sobre el que corra el programa.
\n pues te dará resultados diferentes e inesperados dependiendo de la plataforma sobre la que se ejecute tu programa.
|
|
|
En línea
|
|
|
|
csp
Desconectado
Mensajes: 35
|
Muchas gracias por la aclaración eferion. Edito:Según entendí, las siguientes instrucciones son equivalentes: std::cout << "Linea de prueba 1" << std::endl;
std::cout << "Linea de prueba 2\n" << std::flush;
Hay alguna manera (Quizás esté diciendo cualquier cosa), de ver el buffer para poder visualizar de manera gráfica los momentos en los cuales está vacío y cuando tiene información? Un saludo.
|
|
« Última modificación: 15 Septiembre 2013, 01:05 am por csp »
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
Como ya te dijeron la segunda manera no es portable como la primera ... ¿Que es lo que queres hacer exactamente?
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
Como ya te dijeron la segunda manera no es portable como la primera ... ¿Que es lo que queres hacer exactamente?
Querrás decir que la primera no es portable. Hay alguna manera (Quizás esté diciendo cualquier cosa), de ver el buffer para poder visualizar de manera gráfica los momentos en los cuales está vacío y cuando tiene información? ¿Buffer? Olvídate de esas cosas en C++.
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
Querrás decir que la primera no es portable. No, quise decir lo que dije. std::enld es portable y \n no.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
No, quise decir lo que dije. std::enld es portable y \n no.
Entonces te referías a la primera como he dicho xD
|
|
|
En línea
|
|
|
|
csp
Desconectado
Mensajes: 35
|
Buenas,
Como std::endl aparte de hacer un salto de línea también limpia el buffer, mi duda es si hay alguna manera (Ya sea con C++, asm, o a través de un depurador) de 'ver' los valores actuales en el buffer, para visualizar de una manera un poco más gráfica el estado del mismo antes y después de usar esta instrucción.
No se si se podrá hacer o si estoy diciendo cualquier cosa, pero me quiero sacar la duda.
Muchas gracias a ambos. Un saludo.
PD: Gracias por leer el mp EI.
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
Entonces te referías a la primera como he dicho xD
No, lee de nuevo todo el hilo con atencion, yo respondi al ultimo mensaje de csp que precedia al mio.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
eferion
Desconectado
Mensajes: 1.248
|
Buenas,
Como std::endl aparte de hacer un salto de línea también limpia el buffer, mi duda es si hay alguna manera (Ya sea con C++, asm, o a través de un depurador) de 'ver' los valores actuales en el buffer, para visualizar de una manera un poco más gráfica el estado del mismo antes y después de usar esta instrucción.
No se si se podrá hacer o si estoy diciendo cualquier cosa, pero me quiero sacar la duda.
Muchas gracias a ambos. Un saludo.
PD: Gracias por leer el mp EI.
puedes mirar la posición de la memoria de vídeo, "sacarle una foto", ejecutar el comando, "sacar otra foto" y comparar los dos estados para comprobar las diferencias.
|
|
|
En línea
|
|
|
|
|
|