Skip to content. Skip to navigation

ICTP Portal

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

wclog



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

wclog


Pre-defined stream

Data Type and Member Function Indexes
(exclusive of constructors and destructors)

None

Synopsis

#include <iostream>
extern wostream wclog;

Description

wostream wclog;

    The object wclog controls output to a stream buffer associated with the object stderr declared in <cstdio>. The difference between wclog and wcerr is that wclog is buffered, but wcerr isn't . Therefore, commands like wclog << L"ERROR !!"; and fprintf(stderr,"ERROR !!"); are not synchronized. 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 manipulators. See cout, wcout or basic_ostream for details.

Examples

//
// 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. Obviously, you can use the same scheme to redirect wclog to other devices.

See Also

basic_ostream(3C++), basic_filebuf(3C++), cout(3C++), cin(3C++), cerr(3C++), clog(3C++), wcin(3C++), wcout(3C++), wcerr(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: