setw()不影响读取整数字段

时间:2016-08-12 14:46:31

标签: c++ stl

我写了这样的代码:

int d{ 0 };
cin >> setw(2) >> d;

但似乎setw()对读取整数没有影响。如果是,我们如何使用%2d实现scanf() istream的行为?

1 个答案:

答案 0 :(得分:0)

setw()不是设计与整数类型一起使用。

它会做什么?提取整数的最后两位小数?如果您将std::hex放入流中会发生什么?

最好的方法是读取数字,然后自己处理。例如,如果要提取最不重要的两位数,请随后使用d % 100;对负数进行额外修正。