Удалить строку из файла в qt?

Как удалить две последовательные строки с помощью итератора ??

Я пытаюсь создать форму для сохранения пользователя и пароля, используя QT3.3.
Но я также хочу изменить и удалить имя пользователя и пароль. Я могу удалить имя пользователя, но не могу удалить следующую следующую строку. Код, который я использовал:

QStringList::Iterator it;
it = qFind(lines.begin(), lines.end(), str);
if(it != lines.end())
{
lines.erase(it);
}

Кто-нибудь может предложить какой-нибудь способ?

0

Решение

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? Это уже древнее.

2

Другие решения


По вопросам рекламы [email protected]