QT C ++删除带有*的文件(名称包含)

时间:2018-09-02 00:50:24

标签: c++ qt qt5

如果我在目录test.txt, test2.txt, test3.txt中有一些文件,则可以使用cmd命令删除所有文件

del test*.txt

如何在不使用QT C++的情况下对system()执行相同操作

我尝试过

QFile("test*.txt").remove();

但它不起作用。

1 个答案:

答案 0 :(得分:1)

主要任务是过滤文件,以便我们可以将QDirnameFilter一起使用,如下所示:

QDir dir("/path/of/directory", {"test*.txt"});
for(const QString & filename: dir.entryList()){
    dir.remove(filename);
}

或使用QDirIterator:

QDirIterator it("/path/of/directory", {"test*.txt"});

while (it.hasNext())
    QFile(it.next()).remove();
    //QDir().remove(it.next());