United States    
COMPAQ STORE | PRODUCTS | SERVICES | SUPPORT
| CONTACT US | SEARCH
C++
wcout (3C++std) - Tru64 UNIX
Standard C++ Library
Copyright 1996, Rogue Wave Software, Inc.

NAME

  wcout

SYNOPSIS

  #include <iostream>
  extern wostream wcout;

DESCRIPTION

  wostream wcout;
     The object wcout controls output to a stream buffer associated with the
     object stdout declared in <cstdio>.  By default the standard C and C++
     streams are synchronized, but performance can be improved by using the
     ios_base member function synch_with_stdio to desynchronize them.

     After the object wcin is initialized, wcin.tie() returns &wcout, which
     implies that wcin and wcout are synchronized.  wcout uses the locale
     codecvt facet to convert the wide characters it receives to the tiny
     characters it outputs to stdout.

FORMATTING

  The formatting is done through member functions or manipulators.

  Manipulators                     Member Functions

  showpos                          setf(ios_base::showpos)
  noshowpos                        unsetf(ios_base::showpos)
  showbase                         setf(ios_base::showbase)
  noshowbase                       unsetf(ios_base::showbase)
  uppercase                        setf(ios_base::uppercase)
  nouppercase                      unsetf(ios_base::uppercase)
  showpoint                        setf(ios_base::showpoint)
  noshowpoint                      unsetf(ios_base::showpoint)
  boolalpha                        setf(ios_base::boolalpha)
  noboolalpha                      unsetf(ios_base::boolalpha)
  unitbuf                          setf(ios_base::unitbuf)
  nounitbuf                        unsetf(ios_base::unitbuf)
  internal                         setf(ios_base::internal,
                                      ios_base::adjustfield)
  left                             setf(ios_base::left,
                                      ios_base::adjustfield)
  right                            setf(ios_base::right,
                                      ios_base::adjustfield)
  dec                              setf(ios_base::dec,
                                      ios_base::basefield)
  hex                              setf(ios_base::hex,
                                      ios_base::basefield)
  oct                              setf(ios_base::oct,
                                      ios_base::basefield)
  fixed                            setf(ios_base::fixed,
                                      ios_base::floatfield)
  scientific                       setf(ios_base::scientific,
                                      ios_base::floatfield)
  resetiosflags
   (ios_base::fmtflags flag)       setf(0,flag)
  setiosflags
   (ios_base::fmtflags flag)       setf(flag)
  setbase(int base)                See above
  setfill(char_type c)             fill(c)
  setprecision(int n)              precision(n)
  setw(int n)                      width(n)
  endl
  ends
  flush                            flush( )

DESCRIPTION

  showpos   Generates a + sign in non-negative generated numeric output.

  showbase   Generates a prefix indicating the numeric base of generated
             integer output.

  uppercase   Replaces certain lowercase letters with their uppercase
              equivalents in generated output.

  showpoint   Generates a decimal-point character unconditionally in
              generated floating-point output.

  boolalpha   Inserts and extracts bool type in alphabetic format.

  unitbuf   Flushes output after each output operation.

  internal   Adds fill characters at a designated internal point in certain
             generated output, or identical to right if no such point is
             designated.

  left   Adds fill characters on the right (final positions) of certain
         generated output.

  right   Adds fill characters on the left (initial positions) of certain
          generated output.

  dec   Converts integer input or generates integer output in decimal base.

  hex   Converts integer input or generates integer output in hexadecimal
        base.

  oct   Converts integer input or generates integer output in octal base.

  fixed   Generates floating-point output in fixed-point notation.

  scientific   Generates floating-point output in scientific notation.

  resetiosflagss

  (ios_base::fmtflags flag)   Resets the fmtflags field flag

  setiosflags

  (ios_base::fmtflags flag)   Sets up the flag flag

  setbase(int base)   Converts integer input or generates integer output in
                      base base. The parameter base can be 8, 10 or 16.

  setfill(char_type c)   Sets the character used to pad (fill) an output
                         conversion to the specified field width.

  setprecision(int n)   Sets the precision (number of digits after the
                        decimal point) to generate on certain output
                        conversions.

  setw(int n)   Sets the field with (number of characters) to generate on
                certain output conversions.

  endl   Inserts a newline character into the output sequence and flush the
         output buffer.

  ends   Inserts a null character into the output sequence.

  flush   Flushes the output buffer.

DEFAULT VALUES

  precision()            6
  width()                0
  fill()                 the space character
  flags()                skipws | dec
  getloc()               locale::locale()

EXAMPLES

  //
  // wcout example one
  //
  #include<iostream>
  #include<iomanip>

  void main ( )
  {
   using namespace std;

   int i;
   float f;

    // read an integer and a float from stdin
   cin >> i >> f;

    // output the integer and goes at the line
   wcout << i << endl;

    // output the float and goes at the line
   wcout << f << endl;

    // output i in hexa
   wcout << hex << i << endl;

    // output i in octal and then in decimal
   wcout << oct << i << dec << i << endl;

    // output i preceded by its sign
   wcout << showpos << i << endl;

    // output i in hexa
   wcout << setbase(16) << i << endl;

    // output i in dec and pad to the left with character
    // @ until a width of 20
    // if you input 45 it outputs 45@@@@@@@@@@@@@@@@@@
   wcout << setfill(L'@') << setw(20) << left << dec << i;
   wcout << endl;

    // output the same result as the code just above
    // but uses member functions rather than manipulators
   wcout.fill('@');
   wcout.width(20);
   wcout.setf(ios_base::left, ios_base::adjustfield);
   wcout.setf(ios_base::dec, ios_base::basefield);
   wcout << i << endl;

    // outputs f in scientific notation with
    // a precision of 10 digits
   wcout << scientific << setprecision(10) << f << endl;

    // change the precision to 6 digits
    // equivalents to wcout << setprecision(6);
   wcout.precision(6);

    // output f and goes back to fixed notation
   wcout << f << fixed << endl;

  }

  //
  // wcout example two
  //
  #include <iostream>

  void main ( )
  {
   using namespace std;

   wchar_t p[50];

   wcin.getline(p,50);

   wcout << p;
  }

  //
  // wcout example three
  //
  #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
      {
       wcout << "Error while opening the file";
       wcout << endl;
      }
  }

WARNINGS

  Keep in mind that the manipulator endl flushes the stream buffer. Therefore
  it is recommended to use L'0 if your only intent is to go at the line. It
  will greatly improve performance when C and C++ streams are not
  synchronized.

SEE ALSO

  basic_ostream(3C++std), iostream(3C++std), basic_filebuf(3C++std),
  cin(3C++std), cout(3C++std), cerr(3C++std), clog(3C++std), wcin(3C++std),
  wcerr(3C++std), wclog(3C++std), iomanip(3C++std), ios_base(3C++std),
  basic_ios(3C++std)

  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
  

1.800.AT.COMPAQ

privacy and legal statement