Проверка наличия папки (и создание папок) в Qt, C ++ - PullRequest
140 голосов
/ 11 февраля 2010

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

Ответы [ 5 ]

209 голосов
/ 11 февраля 2010

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

QDir("Folder").exists();

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

QDir().mkdir("MyFolder");
133 голосов
/ 17 июля 2012

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

QDir dir("path/to/dir");
if (!dir.exists())
    dir.mkpath(".");
11 голосов
/ 24 августа 2012

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

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

0 голосов
/ 10 июля 2017

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

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

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

0 голосов
/ 11 февраля 2010

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

  mkdir(...);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...