Dav*_*vid 0 c++ string insert append
我有一个简单的程序,可以插入或附加一些空格来对齐文本。
f()
{
string word = “This word”;
const string space = “ “;
int space_num = 5; // this number can vary
for (int i = 0; i < space_num; i++)
{
word.insert(0, space);
}
cout << word;
}
Run Code Online (Sandbox Code Playgroud)
现在这有效,但我想知道是否有更有效的方法来做到这一点。不是在优化我的程序方面,而是在标准实践中。
我可以想象两种潜在的方法:
1 - 有没有办法创建一个 20 个空格的字符串,并附加这些空格的一部分,而不是重复添加一个空格。
2 – 有没有办法用可变数量的空格创建字符串并附加它?
是的,两者都需要一些副本和一个角色:
word.insert(0, space_num, ' ');
word.append(space_num, ' ');
Run Code Online (Sandbox Code Playgroud)
对于对齐文本,请记住您可以使用字符串流和<iomanip>标题,例如std::setw。