Search This Blog

Wednesday, July 28, 2010

iostream

iostream is a header file which is used for input/output in the C++ programming language. It is part of the C++ standard library. The name stands for Input/OutputStream. In C++ and its predecessor, the C programming language, there is no special syntax for streaming data input or output. Instead, these are combined as alibrary of functions. Like the cstdio header inherited from C's stdio.hiostream provides basic input and output services for C++ programs. iostream uses theobjects cincoutcerr, and clog for sending data to and from the standard streams input, output, error (unbuffered), and error (buffered) respectively. As part of the C++ standard library, these objects are a part of the std namespace.



Example usage

The canonical Hello world program can be expressed as follows:
#include 
using namespace std;
 
int main()
{
    cout << "Hello, world!\n";
    return 0;
}
This program would output "Hello, world!" followed by a newline.
The cout object is of type ostream, which overloads the left bit-shift operator to make it perform an operation completely unrelated to bitwise operations. The cerrand clog objects are also of type ostream, so they overload that operator as well. The cin object is of type istream, which overloads the right bit-shift operator. The directions of the bit-shift operators make it seem as though data is flowing towards the output stream or flowing away from the input stream.
An alternative to the newline character \n is endl, which is used as follows:
#include 
using namespace std;
 
int main()
{
    cout << "Hello, world!" << endl;
    return 0;
}
endl is an output manipulator that writes a newline and flushes the buffer, ensuring that the data is output immediately. Several other manipulators are listed below.


Output formatting

Methods

width(int x)minimum number of characters for next output
fill(char x)character used to fill with in the case that the width needs to be elongated to fill the minimum.
precision(int x)sets the number of significant digits for floating-point numbers
Example:
cout.width(10);
cout << "ten" << "four" << "four";


Manipulators

Manipulators are objects that can modify a stream using the << or >> operators.
endl"end line": inserts a newline into the stream and calls flush.
ends"end string": inserts a null character into the stream and calls flush.
flushforces an output stream to write any buffered characters
decchanges the output format of number to be in decimal format
octchanges the output format of number to be in octal format
hexchanges the output format of number to be in hexadecimal format
wscauses an inputstream to 'eat' whitespace
showpointtells the stream to show the decimal point and some zeros with whole numbers
Other manipulators can be found using the header iomanip.

No comments:

Post a Comment