Personal tools
clog




Click on the banner to return to the class reference home page.
clog
Pre-defined stream
- Data Type and Member Function Indexes
 - Synopsis
 - Description
 - Formatting
 - Examples
 - Warnings
 - See Also
 - Standards Conformance
 
Data Type and Member Function Indexes
(exclusive of constructors and destructors)
None
Synopsis
#include <iostream> extern ostream clog;
Description
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.
Formatting
The formatting is done through member functions or manipulators. See cout or basic_ostream for details.
Examples
//
// clog example
//
#include<iostream>
#include<fstream>
void main ( )
{
  using namespace std;   
  // open the file "file_name.txt"
  // for reading
  ifstream in("file_name.txt");
  
  // output the all file to stdout
  if ( in ) 
    cout << in.rdbuf(); 
  else
    // if the ifstream object is in a bad state
    // output an error message to stderr
    clog << "Error while opening the file" << endl;  
}
Warnings
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:
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.
See Also
basic_ostream(3C++), basic_filebuf(3C++), cout(3C++), cin(3C++), cerr(3C++), wcin(3C++), wcout(3C++), wcerr(3C++), wclog(3C++), iomanip(3C++), ios_base(3C++), basic_ios(3C++),
Working Paper for Draft Proposed International Standard for Information Systems--Programming Language C++, Section 27.3.1
Standards Conformance
ANSI X3J16/ISO WG21 Joint C++ Committee



©Copyright 1996, Rogue Wave Software, Inc.