您好,我在使用 C++ 中的 ostream 对象格式化输出时遇到问题。
ostream& write(ostream& os)
{
os << os.fill('*') << os.width(10);
return os;
}
这是输出的样子:
********* 0
我试图在*
没有尾随的情况下达到 10 秒0
。
拖尾的原因是什么0
?
我是否错误地使用了宽度和填充功能?
正如它所说ios::base::width
:
返回值:调用前的字段宽度值。
所以你正在做的是fill
你的ostream
with *
s 然后在调用 which is 之前打印字段的值0
。
还有一件事你可能之前没有注意到0
,你有另一个字符,那是因为std::ios::fill
返回值:
返回值:调用前填充字符的值。
尝试这个 :
ostream& write(ostream& os)
{
os.fill('*');
os.width(10);
return os;
}