
Module: Standard C++ Library Library: Input/output
A predefined stream that controls output to a stream buffer associated with the object stderr declared in <cstdio>
#include <iostream>
namespace std {
extern ostream clog;
}
The object clog controls output to a stream buffer associated with the object stderr declared in <cstdio>. The difference between clog and cerr is that clog is buffered but cerr is not. Therefore, commands like clog << "ERROR !!"; and fprintf(stderr,"ERROR !!"); are not synchronized.
The formatting is done through member functions or manipulators. See cout or basic_ostream for details.
clog 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, as in:
ofstream out("my_err");
if ( out )
clog.rdbuf(out.rdbuf());
else
cerr << "Error while opening the file" << endl;
Then when you are doing something like:
clog << "error number x";
the error message is output to the file my_err. Obviously, you can use the same scheme to redirect clog to other devices.
basic_ostream, basic_iostream, basic_filebuf, cout, cin, cerr, wcin, wcout, wcerr, wclog, ios_base, basic_ios
ISO/IEC 14882:1998 -- International Standard for Information Systems --Programming Language C++, Section 27.3.1
Copyright (c) 1994-2006 Rogue Wave Software, a Quovadx Division.
Licensed under the Apache License, Version 2.0.
Contact Rogue Wave about documentation or support issues. You can also seek help from other developers through the Apache stdcxx community (see below).