Let's say that I want to print something simple like this table:
January 1
February 2
March 3
April 4
May 5
June 6
July 7
August 8
September 9
October 10
November 11
December 12
I'd like to accomplish this like:
for(tm i{ 0, 0, 0, 1, 0 }; i.tm_mon < 12; ++i.tm_mon) cout << put_time(&i, "%-9B") << i.tm_mon + 1 << endl;
Unfortunately puttime
doesn't seem to allow me to use field flags in it's format fields. Additionally this puttime
doesn't seem to play nice with setw
.
Is my only option to do strftime
and then use that with setw
?
Here is a header-only library that respects the I/O manipulators:
You can try this out yourself by pasting the above code into this wandbox link.
The following will also work