Python 重复存储在变量x中的字符串多次
我希望多次打印存储在变量中的字符串。在python中,我只需使用以下内容即可做到这一点:Python 重复存储在变量x中的字符串多次,python,c++,string,printing,Python,C++,String,Printing,我希望多次打印存储在变量中的字符串。在python中,我只需使用以下内容即可做到这一点: std::string l2 = "*" + std::string(width-2, ' ') + "*\n"; auto l1 = std::string(width, '*') + "\n"; std::cout << l1; std::generate_n(std::ostream_iterator<std::string>(std::cout), height
std::string l2 = "*" + std::string(width-2, ' ') + "*\n";
auto l1 = std::string(width, '*') + "\n";
std::cout << l1;
std::generate_n(std::ostream_iterator<std::string>(std::cout),
height-2,
[=] {return "*" + std::string(width - 2, ' ') + "*\n"; });
std::cout << l1;
l1=“*”*宽度
l2=“*”+(“”*(宽度-2))+“*\n”
l3=l2*((高度-4)/2)
其中高度和宽度由用户输入。最终还有其他几行类似的代码将打印一个*s的矩形
<>在C++中有一个简单的方法吗?< /P>
我尝试使用l2=std::string((高度-4)/2,l1)代码>,但这会导致错误,因为C++需要一个字符串代替L2。(l1使用std::string()
函数格式化,工作正常
非常感谢您的帮助。std::string
有一个构造函数,它接受一个字符和一个重复参数,您可以直接使用它生成顶行和底行,例如:
std::string l1 = std::string(width, '*') + "\n";
类似地,“中间”线可以生成如下内容:
std::string l2 = "*" + std::string(width-2, ' ') + "*\n";
auto l1 = std::string(width, '*') + "\n";
std::cout << l1;
std::generate_n(std::ostream_iterator<std::string>(std::cout),
height-2,
[=] {return "*" + std::string(width - 2, ' ') + "*\n"; });
std::cout << l1;
至于将这些片段组合成一个正方形,我可能会使用std::generate\u n
来生成中间行,因此代码看起来像这样:
std::string l2 = "*" + std::string(width-2, ' ') + "*\n";
auto l1 = std::string(width, '*') + "\n";
std::cout << l1;
std::generate_n(std::ostream_iterator<std::string>(std::cout),
height-2,
[=] {return "*" + std::string(width - 2, ' ') + "*\n"; });
std::cout << l1;
autoL1=std::string(宽度“*”)+“\n”;
std::cout如果需要,可以创建一个简单的助手函数来执行任务:
例如:
string stringMultiplier(string startString, int multiplier){
string endString = startString;
for (int i=1; i<multiplier; i++){
endString = endString + startString;
}
return endString;
}
int main()
{
cout << stringMultiplier("*",4) << endl;
return 0;
}
stringstringmultiplier(stringstartstring,int-multiplier){
字符串endString=startString;
对于(int i=1;我要使用你的代码,尽管它是断开的,l1
的一个示例字符串、一个计数和一个所需的l2
输出将作为你的问题的补充大声说话。@WhozCraig、l1
和所有其他变量将与上面的python代码相同。