Standard C++ Library
Copyright 1998, Rogue Wave Software, Inc.
NAME
wclog
- Controls output to a stream buffer associated with the
object stderr declared in <cstdio>.
SYNOPSIS
#include <iostream>
extern wostream wclog;
wostream wclog;
DESCRIPTION
The object wclog controls output to a stream buffer associ-
ated with the object stderr declared in <cstdio>. The
difference between wclog and wcerr is that wclog is buf-
fered, but wcerr isn't. Therefore, commands like wclog <<
L"ERROR !!"; and fprintf(stderr,"ERROR !!"); are not syn-
chronized. 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 manipula-
tors. See cout, wcout or basic_ostream for details.
EXAMPLE
//
// wclog example
//
#include<iostream>
#include<fstream>
void main ( )
{
using namespace std;
// open the file "file_name.txt"
// for reading
wifstream in("file_name.txt");
// output the all file to stdout
if ( in )
wcout << in.rdbuf();
else
// if the wifstream object is in a bad state
// output an error message to stderr
wclog << L"Error while opening the file" << endl;
}
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 dev-
ices.
If your compiler does not support namespaces, then you do
not need the using declaration for std.
SEE ALSO
basic_ostream(3C++), basic_iostream(3C++),
basic_filebuf(3C++), cout(3C++), cin(3C++), cerr(3C++),
clog(3C++), wcin(3C++), wcout(3C++), wcerr(3C++),
ios_base(3C++), basic_ios(3C++)
Working Paper for Draft Proposed International Standard for
Information Systems--Programming Language C++, Section
27.3.2
STANDARDS CONFORMANCE
ANSI X3J16/ISO WG21 Joint C++ Committee