Куда копать?
Имеется 2-а QStringList. Из первого нужно вырезать все, что есть во втором. При том, что второй содержит только часть строки, которую нужно найти и вырезать в первом.
Если бы строки были одинаковые/полные. То ничего сложного:
# без учета повторов
for (int i = 0; i<list2->count(); ++i) {
list1.removeOne(list2.at(i));
}
for (int i = 0; i<list2.count(); ++i) {
tempList = list1.filter(list2.at(i));
for (int j = 0; j<tempList.count(); ++j) {
list1.removeOne(tempList.at(j));
}
}
Выбранный способ неправильный.
Ты сделал такую вещь:
i<list2.count();
это даёт тебе гарантию, что ты не выйдишь за пределы индекса списка.О. Спасибо. Не подумал. У меня список большой, и вылетов еще не было. Но идею понял.
А я всегда думал, что в таких случаях нужно использовать mutable iterators.
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)