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

setw() does not affect reading integer fields

本文关键字:读取 整数 数字段 影响 Setw      更新时间:2023-10-16

我写了这样的代码:

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

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

setw()不是设计用于整型的

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

最好的方法是读取数字,然后自己处理。例如,如果您想提取最低有效的两位数字,则随后使用d % 100;对负数进行额外更正