Saturday, 19 January 2013

Standard Output (cout)

By default, the standard output of a program is the screen, and the C++ stream object defined to access it is cout.
cout is used in conjunction with the insertion operator, which is written as <<(two "less than" signs).



The <<operator inserts the data that follows it into the stream preceding it. In the examples above it inserted the

constant string Output sentence, the numerical constant 120and variable x into the standard output stream cout.
Notice that the sentence in the first instruction is enclosed between double quotes (") because it is a constant
string of characters. Whenever we want to use constant strings of characters we must enclose them between
double quotes (") so that they can be clearly distinguished from variable names. For example, these two sentences
have very different results:



The insertion operator (<<) may be used more than once in a single statement:




This last statement would print the message Hello, I am a C++ statement on the screen. The utility of repeating

the insertion operator (<<) is demonstrated when we want to print out a combination of variables and constants or
more than one variable:



If we assume the age variable to contain the value 24and the zip code variable to contain 90064the output of the

previous statement would be:



It is important to notice that cout does not add a line break after its output unless we explicitly indicate it,

therefore, the following statements:



will be shown on the screen one following the other without any line break between them:


This is a sentence.This is another sentence.


even though we had written them in two different insertions into cout. In order to perform a line break on the

output we must explicitly insert a new-line character into cout. In C++ a new-line character can be specified as \n
(backslash, n):



This produces the following output:

First sentence.
Second sentence.
Third sentence.
Additionally, to add a new-line, you may also use the endl manipulator. For example:



would print out:

First sentence.
Second sentence.
The end l manipulator produces a newline character, exactly as the insertion of '\n'does, but it also has an
additional behavior when it is used with buffered streams: the buffer is flushed. Anyway, cout will be an
unbuffered stream in most cases, so you can generally use both the \nescape character and the end l manipulator
in order to specify a new line without any difference in its behavior.

No comments:

Post a Comment