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

NAME

  cout

SYNOPSIS

  #include <iostream>
  extern ostream cout;

DESCRIPTION

  ostream cout;
     The object cout 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 improvement can be achieved by
     using the ios_base member function synch_with_stdio to desynchronize
     them.

     After the object cin is initialized, cin.tie() returns &cout, which
     implies that cin and cout are synchronized.

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   Insert and extract 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)   Set 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   Flush the output buffer.

DEFAULT VALUES

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

EXAMPLES

  //
  // cout 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
   cout << i << endl;

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

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

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

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

    // output i in hexa
   cout << 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@@@@@@@@@@@@@@@@@@
   cout << setfill('@') << setw(20) << left << dec << i;
   cout << endl;

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

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

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

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

  }

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

  void main ( )
  {
   using namespace std;

   char p[50];

   cin.getline(p,50);

   cout << p;
  }

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

WARNINGS

  Keep in mind that the manipulator endl flushes the stream buffer. Therefore
  it is recommended to use '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), cerr(3C++std), clog(3C++std), wcin(3C++std), wcout(3C++std),
  wcerr(3C++std), wclog(3C++std), iomanip(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