用C ++

时间:2016-12-08 01:16:59

标签: c++

对于我的班级,我必须取三个弦,然后将它们居中。

这是问题的链接,不,我不是要问问题的答案! http://www.hpcodewars.org/past/cw3/problems/Prog05.htm

我拥有所需的一切,但我需要创建一个具有特定长度的“*”字符串。在这种情况下,它需要21个字符长的星号,我不知道如何创建它。

我的意思是,是的,我能做到

string test = "********************"

但它需要变化的长度不同。

我有一个变量设置为字符串需要多长时间,但我需要知道如何创建具有特定长度的字符串,然后添加星号。

到目前为止

代码:

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

int main()
{
    string line;
    string lines[2];
    int x = 0;
    int maxLength;
    ifstream myfile ("example.txt");

    if (myfile.is_open()) // opening file, setting the strings in the input stream to a variable to use at a later time
    {
        while ( getline (myfile,line) )
        {
            lines[x] = line;
            x++;
        }
        myfile.close();
    }

    if(lines[0].length() > lines[1].length()) //finding the max length;
    {
        maxLength = lines[0].length();
    }else
    {
        maxLength = lines[1].length();
    }
    if(lines[2].length() > maxLength)
    {
        maxLength = lines[2].length();
    }

    maxLength = maxLength + 4;

    cout<<maxLength<<endl;

    return 0;
}

1 个答案:

答案 0 :(得分:6)

它比你想象的要简单得多。 std::string只有一个构造函数用于此目的:

#include <string>
#include <iostream>

int main()
{
    std::string s(21, '*');

    std::cout << s << std::endl;

    return 0;
}

输出:

*********************