c++ string manipulation
/*
OUTPUT
String value: Programming {where applicable: -31.05}
-----------------------------------------------------------------------------
|Programming| << [No manipulation]
| Programming| << [Width:20][align:string_default=right]
| Programming| << [Width:20][align:right]
|Programming | << [Width:20][align:left]
|-31.05 | << [Width:20][align:int_default=left]
|- 31.05| << [Width:20][align:internal]
|.........Programming| << [Width:20][align:default][fill:.]
|+++++++++Programming| << [Width:20][align:default][fill:+]
|=========Programming| << [Width:20][align:default][fill:=]
-----------------------------------------------------------------------------
*/
string sString = "Programming"; // Length = 11
//NOTE: always place the settings before the actual string in cout
// width
cout << "|" << sString << "|" << "tt << [No manipulation]" << endl;
cout << "|" << setw(20) << sString << "|" << "t << [Width:20][align:string_default=right]n";
// alignment
cout << "|" << setw(20) << right << sString << "|" << "t << [Width:20][align:right]n";
cout << "|" << setw(20) << left << sString << "|" << "t << [Width:20][align:left]n";
cout << "|" << setw(20) << -31.05 << "|" << "t << [Width:20][align:int_default=left]n";
cout << "|" << setw(20) << internal << -31.05 << "|" << "t << [Width:20][align:internal]n";
// fill (HAVE to use single quotes in the setfill argument definition)
cout << "|" << setw(20) << setfill('.') << sString << "|" << "t << [Width:20][align:default][fill:.]n";
cout << "|" << setw(20) << setfill('+') << sString << "|" << "t << [Width:20][align:default][fill:+]n";
cout << "|" << setw(20) << setfill('=') << sString << "|" << "t << [Width:20][align:default][fill:=]n";