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

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

+121
11 февр. '10 в 2:19
источник поделиться
5 ответов

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

QDir("Folder").exists();

Чтобы создать новую папку с именем "MyFolder", используйте:

QDir().mkdir("MyFolder");
+169
11 февр. '10 в 2:22
источник

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

QDir dir("path/to/dir");
if (!dir.exists()) {
    dir.mkpath(".");
}
+98
17 июл. '12 в 7:30
источник

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

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

+9
24 авг. '12 в 11:56
источник

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

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

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

0
10 июл. '17 в 2:52
источник

Зачем использовать что-нибудь еще?

  mkdir(...);
-5
11 февр. '10 в 2:22
источник

Посмотрите другие вопросы по меткам или Задайте вопрос