Apache C++ Standard Library Reference Guide

## clog

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 ostream clog;
    }

### Description

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.

### 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`, 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.

### See Also

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

### Standards Conformance

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