Skip to content. Skip to navigation

ICTP Portal

Sections
You are here: Home Manuals on-line PGI Compiler pgC_lib clog
Personal tools
Document Actions

clog



Click on the banner to return to the class reference home page.

clog


Pre-defined stream

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.


Powered by Plone This site conforms to the following standards: