Qt-删除文件

时间:2015-04-28 05:39:08

标签: qt

我需要删除一个特定文件。 我试过这个:

msgBox.setButtonText(QMessageBox::Ok , tr("Ok"));
msgBox.setButtonText(QMessageBox::Cancel , tr("Cancel"));

int ret = msgBox.exec();

switch (ret)
{
    case QMessageBox::Ok:
    {
    #ifdef Q_OS_IOS
        QStringList paths = QStandardPaths::standardLocations(QStandardPaths::DataLocation);
        QString dbFile = paths.first().append("/log.dat");
    #else
        QString dbFile = "log.dat";
    #endif
        QSettings settings(CGlobalZone::m_companyName, CGlobalZone::m_softwareName);
        settings.clear();
        QDir dir;
        dir.remove(dbFile);

        break;

    case QMessageBox::Cancel:
        QTimer::singleShot(1500, this, SLOT(close()));
        break;
}


但遗憾的是dbFile仍然存在。我如何删除" dbFile"?

2 个答案:

答案 0 :(得分:19)

使用

    QFile file (dbFile);
    file.remove();

而不是

  QDir dir;
   dir.remove(dbFile);

答案 1 :(得分:1)

在Qt中删除文件的更简短解决方案可能是:

QFile::remove(dbFile);