C++添加尾随 0 的 ostream 填充



您好,我在C++中使用 ostream 对象格式化输出时遇到问题。

ostream& write(ostream& os)
{
    os << os.fill('*') << os.width(10);
    return os;
}

输出如下所示:

********* 0

我正在尝试在没有尾随0的情况下实现 10 * 秒。

尾随0的原因是什么?

我是否错误地使用了宽度和填充函数?

正如它在ios::base::width中所说:

返回值:调用前字段宽度的值。

因此,您正在做的是用* s fill ostream,然后在调用之前打印字段的值,该字段0

还有一件事你可能没有注意到,在0之前,你还有另一个字符,那是因为std::ios::fill返回值:

返回值:调用前填充字符的值。

试试这个:

ostream& write(ostream& os)
{
    os.fill('*');
    os.width(10);
    return os;
}

相关内容

  • 没有找到相关文章

最新更新