C ++ wclog - Biblioteca estándar de C ++

El objeto wclog en C ++ es un objeto de la clase wostream. Está asociado con el flujo de salida de error C estándar stderr.

Diferencia entre clog y wclog

clog users char (carácter estrecho) como tipo de carácter. Se puede utilizar para caracteres ASCII y ANSI.

Para la internacionalización, necesitamos cadenas Unicode que no encajen en char. wclog usa wchar_t (carácter ancho) y se puede usar para caracteres Unicode.

Diferencia entre wcerr y wclog

wclogy wcerr, ambos están asociados con stderr, pero difiere wcerren el sentido de que los flujos en wclogse almacenan en búfer y no se vinculan automáticamente con wcout.

La salida con búfer es más eficiente que la salida sin búfer. En el caso de la salida almacenada en búfer, toda la salida se guarda en una variable y se escribe en el disco de una vez. Para una salida sin búfer, tenemos que seguir escribiendo en el disco.

No se prefiere la salida en búfer para errores críticos. En caso de falla del sistema, puede ocurrir una situación en la que la salida todavía esté en el búfer y no se haya escrito en el disco y el mensaje de error no se pueda recuperar. No podemos permitirnos perder datos de error en caso de que el sistema se bloquee, por lo que seguimos escribiendo los errores críticos en el disco aunque sea más lento.

wclogse utiliza 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 wclog a wcerr.

declaración wclog

 wclog ostream externo;

Se define en el archivo de encabezado "> archivo de encabezado.

Se wcloggarantiza que el objeto se inicializa durante o antes de la primera vez que ios_base::Initse construye un objeto de tipo . wclogno está vinculado a ninguna otra corriente.

El "wc" en se wclogrefiere a "carácter ancho", por wcloglo tanto significa "registro de caracteres amplios". los

wclogEl objeto se utiliza junto con el operador de inserción (<<) para mostrar un flujo de caracteres. La sintaxis general es:

 wclog << varName;

o

 wclog << "Alguna cadena";

El operador de extracción se puede utilizar más de una vez con una combinación de variables, cadenas y manipuladores (como endl):

 wclog << var1 << "Alguna cadena" << var2 << endl;

Ejemplo: ¿Cómo funciona wclog?

 #include #include using namespace std; int main() ( char fileName() = "data.txt"; wifstream infile(fileName); if(infile) wcout << infile.rdbuf(); else wclog << L"Error while opening the file " << fileName < 

When you run the program, a possible output will be (if there is error in opening the file):

 Error while opening the file data.txt

Articulos interesantes...