Вход представляет собой стандартный ввод строки. Как это.Разделите большую строку и остановите, если найден конкретный символ
«Ананд Рамеш, Суреш # Ананд Рамеш, Суреш, Суреш, Anand»
Я хочу, чтобы получить все имена до # и сохранить его в массиве. И используйте имена после #, чтобы выполнить некоторую операцию.
Как скопировать первые три имени до # в массив. До сих пор я понял, как копировать строку, разделенную запятой. Я не мог найти решение для остановки после того, как найден какой-либо конкретный элемент. Как я остановлюсь, когда столкнулся с #. Вот мой код:
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.do разделение на '#'. 2. затем снова расщепляем по ',' на 0-й индекс. –
@AvinashRaj Я использовал вектор, чтобы взять первую подстроку перед #. И попытался присвоить значение ss (sstream) с помощью ss << substream [0]. но по какой-то причине это не сработало. 0-е место имеет строку перед # – Shivji
попробуйте первый 'getline()' с '#' в качестве разделителя – Christophe