LISTING17.12 Adjusting the Width of Output
0: // Listing 17.12 - Adjusting the width of output
1: #include <iostream>
2: using namespace std;
3:
4: int main()
5: {
6: cout << “Start >”;
7: cout.width(25);
8: cout << 123 << “< End\n”;
9:
10: cout << “Start >”;
11: cout.width(25);
12: cout << 123<< “< Next >”;
13: cout << 456 << “< End\n”;
14:
15: cout << “Start >”;
16: cout.width(4);
17: cout << 123456 << “< End\n”;
18:
19: return 0;
20: }
Start > 123< End
Start > 123< Next >456< End
Start >123456< End
The first output, on lines 6–8, prints the number 123 within a field whose width
is set to 25 on line 7. This is reflected in the first line of output.
The second line of output first prints the value 123 in the same field whose width is set to
25, and then prints the value 456. Note that 456 is printed in a field whose width is reset
to just large enough; as stated, the effect of width()lasts only as long as the very next
output.
The final output reflects that setting a width that is smaller than the output is the same as
setting a width that is just large enough. A width that is too small will not truncate what
is being displayed.
Setting the Fill Characters
Normally,coutfills the empty field created by a call to width()with spaces, as shown
previously. At times, you might want to fill the area with other characters, such as aster-
isks. To do this, you call fill()and pass in as a parameter the character you want used
as a fill character. Listing 17.13 illustrates this.
OUTPUT
616 Day 17
ANALYSIS