iostream で、一度セットしたらずっと有効なフィールド幅設定マニピュレータはありませんか。
下のようにしても、最初の出力だけが5幅で、2つ目からは元に戻ってしまうのですが。

#include <iostream>
#include <iomanip>
using namespace std;
int main(){
  cout << hex << setfill('0') << setw(5);
  //cout.width(5);     // これでもだめ。
  cout << 10 << endl;
  cout << 20 << endl;
  cout << 30 << endl;
}