在 qt 中删除文件中的一行

Delete a line from a file in qt?

本文关键字:一行 qt 删除 文件      更新时间:2023-10-16

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

我正在尝试创建一个表单以使用 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有什么原因吗?那已经很古老了。