Saltar al contenido

¿Cuál es la diferencia entre cout, cerr, clog del encabezado iostream en c++? ¿Cuándo usar cuál?

Después de tanto trabajar ya hallamos la contestación de esta dificultad que tantos usuarios de este sitio web han presentado. Si deseas compartir algún detalle puedes dejar tu conocimiento.

Solución:

Generalmente usas std::cout para salida normal, std::cerr por errores y std::clog para “registro” (que puede significar lo que quieras que signifique).

La gran diferencia es que std::cerr no está protegido como los otros dos.


En relación con la antigua C stdout y stderr, std::cout corresponde a stdouttiempo std::cerr y std::clog ambos corresponden a stderr (excepto eso std::clog está amortiguado).

stdout y stderr son flujos diferentes, aunque ambos se refieren a la salida de la consola de forma predeterminada. Redirigir (tubería) uno de ellos (por ejemplo, program.exe >out.txt) no afectaría al otro.

En general, stdout debe usarse para la salida real del programa, mientras que toda la información y los mensajes de error deben imprimirse en stderrde modo que si el usuario redirige la salida a un archivo, los mensajes de información aún se imprimen en la pantalla y no al archivo de salida.

Flujo de salida estándar (cout):cout es la instancia de la ostream clase. cout se utiliza para producir una salida en el dispositivo de salida estándar que suele ser la pantalla de visualización. Los datos necesarios para mostrarse en la pantalla se insertan en el flujo de salida estándar (cout) utilizando el operador de inserción (<<).

Flujo de error estándar sin búfer (cerr):cerr es el flujo de error estándar que se utiliza para generar los errores. Esta es también una instancia de la ostream clase. Como cerr es sin búfer por lo que se usa cuando necesitamos mostrar el mensaje de error inmediatamente. No tiene ningún búfer para almacenar el mensaje de error y mostrarlo más tarde.

Flujo de error estándar almacenado en búfer (obstrucción): Este es también un ejemplo de ostream clase y solía mostrar errores pero a diferencia cerr el error se inserta primero en un buffer y se almacena en el tampón hasta que no se llena por completo.

Lectura adicional: entrada-salida-básica-c

Reseñas y calificaciones

Si aceptas, tienes la opción de dejar un artículo acerca de qué te ha parecido esta crónica.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *