Diferencia entre cerr y zueco

En C++ , la entrada y la salida se realizan en forma de una secuencia de bytes o más comúnmente conocida como secuencias. cerr y clog están asociados con el flujo de salida de error C estándar stderr, pero cerris es el flujo de error estándar sin búfer, mientras que clog es el flujo de error estándar con búfer. En este artículo, aprenderemos cuál es la diferencia entre estos dos flujos en detalle con ejemplos.

cerr: es el flujo de error estándar sin búfer que se utiliza para generar los errores. Este es un objeto de la clase ostream similar a cout . No tiene búfer, es decir, se utiliza cuando es necesario mostrar el mensaje de error inmediatamente. Como no hay búfer, no puede almacenar el mensaje de error para mostrarlo más tarde. Entonces, simplemente como cerr no tiene búfer, no puede almacenar el mensaje.

Ejemplo:

C++

// c++ program to implement
// the above approach
#include <iostream>
using namespace std;
  
// Driver code
int main()
{
    cerr << "the message displayed is unbuffered";
    return 0;
}

Producción:

Output

clog: es el flujo de error estándar almacenado en búfer que se utiliza para generar los errores. Este también es un objeto de la clase ostream similar a cout . Se almacena en el búfer, es decir, primero se inserta el mensaje de error en el búfer y luego se muestra en la pantalla. Como hay un búfer, puede almacenar el mensaje de error para mostrarlo más tarde, a diferencia de cerr . Entonces, simplemente como la obstrucción se almacena en búfer, no puede mostrar el mensaje de inmediato. clog se usa comúnmente para fines de registro. Para el registro de eventos no críticos, la eficiencia es más importante, por lo que se prefiere clog a cerr .

Ejemplo:

C++

// C++ program to implement
// the above approach
#include <iostream>
using namespace std;
  
// Driver code
int main()
{
    clog << "the message displayed is buffered";
    return 0;
}

Producción:

Output

Tabla de diferencias:

 

cerrar

obstruir

1. Es un flujo de error estándar sin búfer Es un flujo de error estándar almacenado en búfer
2. Se utiliza para mostrar el error. Se utiliza para el registro.
3. Se utiliza para mostrar el mensaje inmediatamente.  No puede mostrar el mensaje inmediatamente.
4. No puede almacenar el mensaje para mostrarlo más tarde. Puede almacenar el mensaje en el búfer para mostrarlo más tarde.
5. La «c» en cerr se refiere a «carácter» y ‘err’ significa «error». Por lo tanto, cerr significa «error de carácter».  La «c» en clog se refiere a «carácter» y ‘log’ se refiere a «registro», por lo tanto, clog significa «registro de caracteres».
6. Es menos eficiente que clog porque es una salida sin búfer. Es más eficiente que cerr porque es una salida almacenada en búfer.
7. Se prefiere para errores críticos (errores que pueden causar fallas en el sistema). No se prefiere para errores críticos (errores que pueden causar fallas en el sistema).

Publicación traducida automáticamente

Artículo escrito por CoderSaty y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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