我最近在创建 stringstream
时遇到了一个问题,原因是我错误地假定 std::setw()
会影响每次插入的字符串流,直到我明确地更改了它。但是,在插入之后它总是未设置。
// With timestruct with value of 'Oct 7 9:04 AM'
std::stringstream ss;
ss.fill('0'); ss.setf(ios::right, ios::adjustfield);
ss << setw(2) << timestruct.tm_mday;
ss << timestruct.tm_hour;
ss << timestruct.tm_min;
std::string filingTime = ss.str(); // BAD: '0794'
我有几个问题:
setw()
在这边?std::ios_base::width()
和 std::setw()
在行为上有区别吗?