Я создаю функцию извлечения последних имен из массива и печати имени на экран. Мне удалось извлечь первую фамилию в массиве, но затем вывод объединяет первое имя первого индекса со следующей фамилией позиций индекса. Ниже мой код, спасибо за помощь!substr конкатенировать элементы массива C++
{
stringstream ss;
string name;
for(int i=0; i < elements; i++)
{
ss << first[i];
ss >> name;
int pos = name.find(",");
cout << pos;
string last = name.substr(0,pos);
cout << "\"" << last << "\"" << endl;
}
cout << endl;
}
Вы, вероятно, хотите, чтобы проверить, если 'найти()' вернулся что-то отличное от 'станд :: струнной :: npos' и использовать' последняя строка = name.substr (0, поз - 1); '. –
Спасибо за ответ, но он, похоже, не помогает. Вычитание 1 из позиции не поможет, так как оно просто удалит один символ из вывода. Я пытаюсь понять, почему имена из массива конкатенируются со строками, которые находятся на отдельных индексах массива. –