C++ tips: C++ Dark Corner 0 标准流格式化输出

今天需要输出一个双精度型数组到文件上,输出以后发现C++(MPIC++ on 64bit LinuxMint with MPICH2)默认的流输出精度为6,记忆中貌似有这么一回事,需要在流操作符<< 之间增加诸如setprecision()一类的描述。多年不用忘却了,是google了一下,发现貌似这里还有一个C++黑暗的小角落。


困扰我的是,流输出时是不是要每一个输出变量前都要增加一个setprecision(),于是google着就浮现了一个问题,就是Which manipulator of <iomanip> is sticky?也就是哪些设定是仅需要一次就会一直影响流输出的设定。发现,除了setw()之外,貌似所有其他的manipulator都是仅设定一次即可的,也就是sticky特性。


貌似我在C++ reference上没有看到这样的描述,甚至大多数示例都是仅作了一次流输出,完全看不出来这些manipulator是需要每次都设定还是仅需设定一次。


参考文献:

http://stackoverflow.com/questions/14006412/setprecision-without-iomanip

http://stackoverflow.com/questions/5905467/whats-the-deal-with-setw

http://stackoverflow.com/questions/1532640/which-iomanip-manipulators-are-sticky

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值