4

我有以下代码

cout << setfill('0') << setw(4) << hex << 100 << 100 << std::endl;

输出是:

006464

如果我想让每个宽度为 4 的数字,我必须使用

out << setfill('0') << setw(4) << hex << 100 << sew(4) << 100 << std::endl;

但是如果我想用 hex 和 setfill('0') 打印每个数字,我只需要设置 setfill('0') 和 std::hex 一次。

c++ 是故意设计的吗?它的意图是什么?

4

1 回答 1

2

是的,这是故意的。流操作在内部充满了标准指定的字段宽度的重置。我认为为什么没有很好的答案。

于 2015-04-29T08:21:24.460 回答