我写了这样的代码:
int d{ 0 };
cin >> setw(2) >> d;
但是,看来
setw()
对读取整数没有影响。如果是这样,我们如何用%2d
实现scanf()
的istream
行为? 最佳答案
setw()
不适用于整数类型。
会怎么办?提取整数的最后两位十进制数字?如果将std::hex
放入流中会发生什么?
最好的方法是先读取数字,然后自己处理。例如,如果要提取最低有效两位数,请随后使用d % 100
;否则,请使用ojit_code。对负数进行额外的更正。
关于c++ - setw()不会影响读取整数字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38920767/