使用cout<<setiosflags(ios::right)以后,
再调用 cout<<setiosflags(ios::left);无效的,
你可以在调用之前加上一句 cout<<resetiosflags(ios::right);
清除右对齐以后在调用 cout<<setiosflags(ios::left);
就没问题了。


或者更简洁些,你可以写成 cout<<left<<setw(3)<<x*y;
这样也能达到你所希望的效果。


还有也可以使用cout.flags(ios::left)设置左对齐。




例如:
1.
cout<<setiosflags(ios::right)<<setw(10)<<123<<endl;
cout<<resetiosflags(ios::right);//此句不可删除(删除后下面的左对齐无效)
cout<<setiosflags(ios::left)<<setw(10)<<123<<endl;


2.
cout<<setiosflags(ios::right)<<setw(10)<<123<<endl;
cout<<left<<setw(10)<<123<<endl;
3.
cout<<setiosflags(ios::right)<<setw(10)<<123<<endl;
cout.flags(ios::left);//这样设置也可以
cout<<setw(10)<<123<<endl;

转载于:https://www.cnblogs.com/bofengyu/p/4477506.html

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐