Man Page wclog.3



                       Standard C++ Library
             Copyright 1998, Rogue Wave Software, Inc.



NAME

     wclog

      - Controls output to a stream buffer  associated  with  the
     object stderr declared in <cstdio>.





SYNOPSIS

     #include <iostream>
     extern wostream wclog;
     wostream wclog;





DESCRIPTION

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





EXAMPLE

     //
     // 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.
      You can use the same scheme to redirect wclog to other dev-
      ices.

      If your compiler does not support namespaces, then  you  do
      not need the using declaration for std.





SEE ALSO

     basic_ostream(3C++),                   basic_iostream(3C++),
     basic_filebuf(3C++),   cout(3C++),   cin(3C++),  cerr(3C++),
     clog(3C++),    wcin(3C++),     wcout(3C++),     wcerr(3C++),
     ios_base(3C++), basic_ios(3C++)

     Working Paper for Draft Proposed International Standard  for
     Information   Systems--Programming   Language  C++,  Section
     27.3.2





STANDARDS CONFORMANCE

     ANSI X3J16/ISO WG21 Joint C++ Committee