setw默认右对齐,可以用来控制输出间隔
cout<<&#39;s&#39;<<setw(8)<<&#39;a&#39;<<endl;
setw只对紧跟其后的输出起作用,上面代码的运行结果应该是
s a
中间7个空格,因为a占了1个空格
如果输出长度超过setw括号内规定的长度,则按原长度输出
setw默认填充空格,不过可以配合setfill实现自定义填充
如
cout<<&#39;s&#39;<<setfill(&#39;*&#39;)<<setw(8)<<&#39;a&#39;<<endl;
输出结果为
s*******a
虽然setw默认右对齐,不过也可以使用std::left实现左对齐
cout<<std::left<<&#39;s&#39;<<setfill(&#39;*&#39;)<<setw(8)<<&#39;a&#39;<<endl;
2、hex,oct,dec
hex是16进制
dec是10进制
oct是8进制
3、setiosflags
setiosflags 是包含在命名空间 iomanip 中的C++ 操作符,该操作符的作用是执行由有参数指定
cout<
#include
using namespace std;
#include
int main()
{int a=20,b=18,c=24; cout<<"123456789012345678901234567890"<<"\n"; cout<<dec<<setw(10)<<a<<setw(10)<<b<<setw(10)<<c<<endl;cout<<setiosflags(ios::left); cout<<hex<<a<<setw(10)<<b<<setw(10)<<c<<endl;cout<<hex<<setw(10)<<a<<setw(10)<<b<<setw(10)<<c<<endl;cout<<oct<<setw(10)<<a<<setw(10)<<b<<setw(10)<<c<<endl; cout<<resetiosflags(ios::left); cout<<dec<<setw(10)<<a<<setw(10)<<b<<setw(10)<<c<<endl;
}
运行结果是