Как удалить две последовательные строки с помощью итератора ??
Я пытаюсь создать форму для сохранения пользователя и пароля, используя QT3.3.
Но я также хочу изменить и удалить имя пользователя и пароль. Я могу удалить имя пользователя, но не могу удалить следующую следующую строку. Код, который я использовал:
QStringList::Iterator it;
it = qFind(lines.begin(), lines.end(), str);
if(it != lines.end())
{
lines.erase(it);
}
Кто-нибудь может предложить какой-нибудь способ?
QStringList::erase
возвращает итератор, который ссылается на элемент, который был за элементом, который вы только что удалили, поэтому:
it = lines.erase(it);
// it now references the line after the erased one, so go again to delete that:
if(it != lines.end()) {
lines.erase(it);
}
Также обязательно: есть ли причина, по которой вы используете Qt 3.3? Это уже древнее.