【发布时间】:2015-08-15 13:10:25
【问题描述】:
输入是标准字符串输入。像这样。
“阿南德,拉梅什,苏雷什#阿南德,拉梅什,苏雷什,苏雷什,阿南德”
我想获取 # 之前的所有名称并将其存储在一个数组中。并使用# 后的名称进行一些操作。
如何将# 之前的前三个名称复制到数组中。到目前为止,我已经弄清楚如何复制用逗号分隔的字符串。在找到特定元素后,我找不到停止的解决方案。遇到# 时如何停止。到目前为止,这是我的代码:
void findCombination(string input)
{
stringstream ss(input);
string buffer;
vector<string>names;
int i=0;
while(getline(ss,buffer,','))
{
names.push_back(buffer);
}
for(int i=0;i<names.size();i++)
cout << names[i] <<endl;
//return NULL;
}
【问题讨论】:
-
1.在
#上进行拆分。 2.然后在第0个索引上再次根据,进行拆分。 -
@AvinashRaj 我使用了一个向量来获取 # 之前的第一个子字符串。并尝试使用 ss 之前有字符串
-
尝试第一个
getline()与#作为分隔符