0

我正在尝试从字符串输入中创建一个数组。

string input;
getline(cin,input);
string inputarray1[100];
istringstream pp(input);
int* inputPosition=0;
while (!pp.eof())
{
    getline( pp, inputarray1[*inputPosition], ' ' );
    inputPosition++;
}
int* a = inputPosition;
string halp[a];

我正在使用 getline 解析我的输入(连同 istringstream)并将其放入一个数组中,但是如何创建一个没有额外空位置的数组?

4

2 回答 2

2

使用来自标题的向量<vector>

vector<string> inputArray;
while (getline(pp, input, ' '))
    inputArray.push_back(input);

可以使用 获取字符串的数量inputArray.size(),并且您可以访问单个元素,就像使用数组一样,inputArray[index]

请注意,operator>>它以空格分隔,因此您也可以这样做(除非您出于某种原因想要以不同的方式处理制表符)

while (pp >> input)
    inputArray.push_back(input);
于 2012-05-01T03:23:14.093 回答
0

我不是 100% 清楚你的问题,但听起来你真的想使用哈希表而不是数组。这将使您可以将用户输入映射到其他内容,而无需您提到的空数组位置。

于 2012-05-01T03:18:48.777 回答