[英]C++ print string n times with white space between?
有什么方法可以在 c++ 上打印 n 次字符串。 例如
int main(){
int n = 5;
cout << string(n, '|') << endl;
return 0;
}
output 是|||||
, 但所需的 output 是| | | | |
| | | | |
由於 string() 不能采用空格“”,如果我想在兩者之間添加空格,我該如何處理?
您可以為此使用標准算法fill_n
#include <iostream>
#include <algorithm>
int main()
{
int const n = 5;
std::fill_n(std::ostream_iterator<char>{std::cout, " "}, n, '|');
std::cout << '\n';
}
為此,我們可以定義自己的String
function,如下所示:
#include <iostream>
using namespace std;
string String(int n, string a){
string s = "";
for(int i = 0; i < n; ++i) s += a;
return s;
}
int main(){
int n = 5;
cout << String(1,"|") + String(n - 1, " |") << endl;
return 0;
}
Output:
| | | | |
請注意,這次我們可以將string
傳遞給我們的String
function 而不是字符
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.