如何创建一个由我先前输入的元素组成的数组?

时间:2015-02-10 09:59:25

标签: c++ arrays string input sentinel

我写了一个哨兵控制的C ++程序,你必须在其中输入一组名字。您可以输入的名称数量没有限制。输入完姓名后,只需输入" 1"退出。这是我的代码:

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string name;
    int nofPeople = 0;
    cout<<"Enter a name or 1 to quit:\n";
    cin>>name;
    while(name != "1")
    {
        nofPeople = nofPeople + 1;

        cout<<"Enter another name or 1 to quit:\n";
        cin>>name;
    }
}

现在我要创建一个长度等于“nofPeople&#39;”的数组。我希望该数组的元素是我已经输入的名称。我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以使用std::vector及其push_back方法将名称添加到用户进入的矢量中。

答案 1 :(得分:0)

执行此操作的标准方法是创建一个std::vector<std::string>,您将在收到字符串时添加字符串,最后,(一旦收集了所有字符串,)将向量转换为数组

但是,除非您还没有提到其他一些奇怪的要求,否则我强烈建议您忘记使用数组并继续在整个程序中使用向量。