+ 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?

31st Dec 2016, 2:38 AM
Ken O'Dell
Ken O'Dell - avatar
2 Answers
+ 1
do{ cin>>test } while(test>99999 || test <0)
31st Dec 2016, 2:42 AM
Nahuel
Nahuel - avatar
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
31st Dec 2016, 5:42 AM
Ken O'Dell
Ken O'Dell - avatar