если нужно задержать форматированный вывод, можно использовать временный буфер в памяти stringstream.
Код:
#include <sstream>
...
ostringstream tmp;
tmp << setw(8) << ... << ... ;
...
// а когда придёт момент всё это выплюнуть:
cout << tmp.rdbuf() << endl;
Но помни, то последующая запись не очищает уже записанного (и оно болтается в буфере). Чтобы очистить, вызови ostringstream::str(const string&) с пустой строкой.