我正在尝试用字符串输入创建一个数组。
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)并将其放入一个数组中,但是如何创建一个没有多余空位的数组呢?
答案 0 :(得分: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);
答案 1 :(得分:0)
我不是100%清楚你的问题,但听起来你真的想用Hash Table代替数组。这样您就可以将用户输入映射到其他内容,而不会显示您提到的空数组位置。