0

输入是标准字符串输入。像这样。

“阿南德,拉梅什,苏雷什#阿南德,拉梅什,苏雷什,苏雷什,阿南德”

我想在 # 之前获取所有名称并将其存储在一个数组中。并使用# 后的名称进行一些操作。

如何将 # 之前的前三个名称复制到数组中。到目前为止,我已经弄清楚如何复制用逗号分隔的字符串。在找到特定元素后,我找不到停止的解决方案。遇到 # 时如何停止。到目前为止,这是我的代码:

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; 

}
4

1 回答 1

0

有很多方法可以做到这一点。最简单的是:

void findCombination(string input)
{
   string filteredinput(input,0, input.find('#'));  
   stringstream ss(filteredinput);  
   ... // rest of your code unchanged
}
于 2015-08-15T13:43:35.990 回答