Проверка наличия папки (и создание папок) в Qt, C++

в Qt, как проверить, существует ли данная папка в текущем каталоге?
Если он не существует, как мне создать пустую папку?

5 ответов


чтобы проверить, существует ли каталог с именем "папка", используйте:

QDir("Folder").exists();

для создания новой папки с именем "MyFolder" используйте:

QDir().mkdir("MyFolder");

чтобы проверить, существует ли он, и создать, если нет, включая посредников:

QDir dir("path/to/dir");
if (!dir.exists()) {
    dir.mkpath(".");
}

при использовании QDir.mkpath () возвращает true, если путь уже существует, с другой стороны QDir.функция mkdir() возвращает false, если путь уже существует. Поэтому в зависимости от вашей программы вы должны выбрать, что подходит лучше.

вы можете увидеть больше на Документация Qt


Если вам нужна пустая папка, вы можете цикл, пока не получите пустую папку

    QString folder= QString ("%1").arg(QDateTime::currentMSecsSinceEpoch());
    while(QDir(folder).exists())
    {
         folder= QString ("%1").arg(QDateTime::currentMSecsSinceEpoch());
    }
    QDir().mkdir(folder);

в этом случае вы получите имя папки с номером .


зачем использовать что-то еще?

  mkdir(...);