VMS Help
CXXLSTD, IOStreams, cout

 *Conan The Librarian

 			   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, iostream, basic_filebuf,
   cin,	cerr, clog, wcin, wcout,
   wcerr, wclog, iomanip

   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
  Close     Help