Testing setw() for persistence of its effect – Computer Sir Ki Class


Code Learning #CPP#4312    siteicon   siteicon  

Testing setw() for persistence of its effect

Seeing in what condition effect of setw is persistent and when it is not.

Learning Objectives

  • Non-persistence behaviour of setw after it is used once.

Source Code

TC++ #4312

int main()
char str[]="Hello";
cout< int a=10;
int b=15;
cout< cout< cout< cout< getch();
return 0;

Source Code


Test it !

Run Output

Hello Hello

Code Understanding

#include <iomanip>
This include file is required for all IO manipulation for display purposes.

char str[]=”Hello”;
This string will be used for display


With this we set a field width of 7 but we do not use it in the same line.

int a=10; int b=15;
Some more code is given

This line will use the field width as 7 and Hello will be printed after leaving two columns. So setw works for next thing to be displayed  even after few lines of code are there in between.

This will be printed from beginning itself as setw is not persistent once it has been used.

The first Hello will be printed after leaving 5 columns as field width is 10 and characters to be printed are just 5. The next Hello will be printed immediately next as the effect of setw will be gone as soon as it used by any display purpose. So each field has to be set before it has to be displayed.

Here two fields are displayed with each one of them having its own setw specification.


Common Errors

  • Commonly learners forget to set width of individual fields separately.

Suggested Filename(s): setwpers.cpp


sunmitra| Created: 15-May-2018 | Updated: 15-Sep-2018|