QT C ++ удалить файл с * (имя содержит) - PullRequest
0 голосов
/ 02 сентября 2018

Если у меня есть несколько файлов в каталоге test.txt, test2.txt, test3.txt, я могу удалить их все с помощью команды cmd

del test*.txt

Как сделать то же самое с QT C++ без использования system()

Я пробовал

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

но это не работает.

1 Ответ

0 голосов
/ 02 сентября 2018

Основная задача - отфильтровать файлы, чтобы мы могли использовать QDir с nameFilter, как показано ниже:

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());
...