cout 对齐

先左对齐,然后右对齐,最后再左对齐,为什么这个时候还是右对齐?cout<<setiosflags(ios::left)<<setw(30)<<"dfasdfasd"<<e... 先左对齐,然后右对齐,最后再左对齐,为什么 这个时候还是右对齐?
cout<<setiosflags(ios::left)<<setw(30)<<"dfasdfasd"<<endl;
cout<<setiosflags(ios::right)<<setw(30)<<"dfasdfasd"<<endl;
cout<<setiosflags(ios::left)<<setw(30)<<"dfasdfasd"<<endl;
为什么第三行输出的还是右对齐?
展开
 我来答
White_MouseYBZ
2011-11-03 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6686万
展开全部
这恐怕与所用的平台和编译器有关。就这三行代码在我的VC++6.0上全是左对齐,只有把第一行改成右对齐后才能是右对齐。默认是右对齐的,转为左对齐后,再转为右对齐这样的多次转换可能使有些编译器在解释上发生了混乱。转为左对齐后用取消左对齐(resetiosflags(ios::left))的办法就没有这种弊端了,很灵光!
这些操纵符或函数有些是管一行的,有些是管长久的,有些据说只管紧跟着的一个输出,着实也不好记,编译器解释上也会出些不一致的地方。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式