+ 2
Is there a way to set field width when using cout?
If I want to pad a series of integers that range from one to five digits and have them right justified. I can do this in C with printf (). How do I do this with cout?
2 Answers
+ 1
do{
cin>>test
}
while(test>99999 || test <0)
0
After a little research, here's the way to do it: You need to use a manipulator to set the field width. Unfortunately, SoloLearn doesn't mention these in there C++ tutorial.
/*
* width.cpp
*
*/
#include <iostream>
#include <iomanip>
using namespace std;
int main(int argc, char* argv[]) {
cout << 5 << endl;
cout << 100 << endl;
cout << 134555 << endl;
cout << setw(10) << 5 << endl;
cout << setw(10) << 100 << endl;
cout << setw(10) << 134555 << endl;
return 0;
}
And the output for this is (running under cygwin on Windows 10):
$ ./width.exe
5
100
134555
5
100
134555
YMMV!
Thanks,
KO