Apache C++ Standard Library Reference Guide

## wclog

Library: Input/output

- Local Index
- Summary
- Synopsis
- Description
- Formatting
- Warnings
- See Also
- Standards Conformance

### Local Index

No Entries

### Summary

A predefined stream that controls output to a stream buffer associated with the object `stderr` declared in `<cstdio>`

### Synopsis

    #include <iostream>

    namespace std {
      extern wostream wclog;
    }

### Description

The object `wclog` controls output to a stream buffer associated with the object `stderr` declared in `<cstdio>`. The difference between `wclog` and `wcerr` is that `wclog` is buffered, but `wcerr` isn't. Therefore, commands like `wclog << L"ERROR !!";` and `fprintf(stderr,"ERROR !!");` are not synchronized. `wclog` uses the locale codecvt facet to convert the wide characters it receives to the tiny characters it outputs to `stderr`.

### Formatting

The formatting is done through member functions or manipulators. See cout, wcout or basic_ostream for details.

### Warnings

`wclog` can be used to redirect some of the errors to another recipient. For example, you might want to redirect them to a file named `my_err`:

    wofstream out("my_err");
    if ( out )
      wclog.rdbuf(out.rdbuf());
    else
      cerr << "Error while opening the file" << endl;

Then when you are doing something like `wclog << L"error number x";` the error message is output to the file `my_err`. You can use the same scheme to redirect `wclog` to other devices.

### See Also

basic_ostream, basic_iostream, basic_filebuf, cout, cin, cerr, clog, wcin, wcout, wcerr, ios_base, basic_ios

### Standards Conformance

ISO/IEC 14882:1998 -- International Standard for Information Systems --Programming Language C++, Section 27.3.2