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

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

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

4b9b3361

Ответ 1

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

QDir("Folder").exists();

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

QDir().mkdir("MyFolder");

Ответ 2

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

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

Ответ 3

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

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

Ответ 4

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

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

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

Ответ 5

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

  mkdir(...);