I’m trying to create a neatly formatted table on C++ by setting the width of the different fields. I can use setw(n), doing something like
cout << setw(10) << x << setw(10) << y << endl;
or change ios_base::width
cout.width (10);
cout << x;
cout.width (10);
cout << y << endl;
The problem is, neither of the alternatives allows me to set a default minimum width, and I have to change it everytime I’ll write something to the stream.
Does anybody knows a way I can do it without having to repeat the same call countless times?
Thanks in advance.
You can create an object that overloads
operator<<and contains aniostreamobject that will automatically callsetwinternally. For instance:You can now call it like the following: