C++ ostream 填充添加尾随 0
C++ ostream fill adding a trailing 0
您好,我在使用 C++ 中的 ostream 对象格式化我的输出时遇到问题。
ostream& write(ostream& os)
{
os << os.fill('*') << os.width(10);
return os;
}
这是输出的样子:
********* 0
我正在努力实现 10 *
秒而没有尾随 0
。
尾随 0
的原因是什么?
我是否错误地使用了宽度和填充函数?
正如 ios::base::width
中所说:
Return value : The value of the field width before the call.
所以你正在做的是 fill
你的 ostream
和 *
s 然后在调用之前打印字段的值是 0
.
还有一件事你可能没有注意到,在 0
之前你有另一个字符,那是因为 std::ios::fill
return 值 :
Return value : The value of the fill character before the call.
试试这个:
ostream& write(ostream& os)
{
os.fill('*');
os.width(10);
return os;
}
您好,我在使用 C++ 中的 ostream 对象格式化我的输出时遇到问题。
ostream& write(ostream& os)
{
os << os.fill('*') << os.width(10);
return os;
}
这是输出的样子:
********* 0
我正在努力实现 10 *
秒而没有尾随 0
。
尾随 0
的原因是什么?
我是否错误地使用了宽度和填充函数?
正如 ios::base::width
中所说:
Return value : The value of the field width before the call.
所以你正在做的是 fill
你的 ostream
和 *
s 然后在调用之前打印字段的值是 0
.
还有一件事你可能没有注意到,在 0
之前你有另一个字符,那是因为 std::ios::fill
return 值 :
Return value : The value of the fill character before the call.
试试这个:
ostream& write(ostream& os)
{
os.fill('*');
os.width(10);
return os;
}