簡體   English   中英

C++ 打印字符串 n 次,中間有空格?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM