我有以下代码
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 ++是否故意设计这个?它的用意是什么?
答案 0 :(得分:2)
是的,它是故意的。流操作在内部充满了由标准指定的字段宽度的重置。我认为没有什么好的答案。