如何创建固定长度的,由单个字符填充的字符串流?
所需的输出:
[xxxxxxxxxx]
我已经尝试过了:
#include <iostream>
#include <iomanip>
using namespace std;
int main () {
stringstream ss;
ss << setfill('x') << setw(10);
cout << "[" << ss.str() << "]\n";
return 0;
}
输出:
[]
如果在设置宽度和填充后向流中添加任何内容,则会得到填充流,这就是我要寻找的内容:
ss << setfill('x') << setw(10) << "B";
输出:
[xxxxxxxxxB]
但是我希望一个流仅用 x 填充流。是否有任何方法可以在不添加值的情况下获取填充的流?
答案 0 :(得分:0)
ss << setfill('x') << setw(10);
不起作用(您什么也不输出)。
您可能想要做类似的事情
ss << setfill('x') << setw(10) << 'x';
给出
[xxxxxxxxxx]
根据需要。
答案 1 :(得分:0)
您可以像这样使用适当的字符串constructor填充流
ss << std::string(10, 'x');