一个cout打印有关问题,请大家来看看

一个cout打印问题,请大家来看看。我想打印一个整数,如int c 9c语言里可以pringf(%.2d,c)显示时不足两位

一个cout打印问题,请大家来看看。
我想打印一个整数,如int c =9
c语言里可以
pringf("%.2d",c);显示时不足两位的在前面补零,如09。
打印十六进制
printf("%x",c)

用cout该如何输出以上两种情况呢??
[解决办法]

int c = 9;

cout<<setfill('0')<<setw(2)<<c<<endl;
cout<<"0x"<<hex<<c<<endl;