从qt中的文件中删除一行?

时间:2015-01-05 12:31:59

标签: c++ linux qt qt3

如何使用迭代器删除两个连续的行?

我正在尝试使用QT3.3创建一个用于保存用户和密码的表单。 但我也想修改和删除用户名和密码。我可以删除用户名,但我无法删除下一行。我一直使用的代码是:

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

任何人都可以提出任何建议吗?

1 个答案:

答案 0 :(得分:2)

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?那是古老的。