В Qt, как проверить, существует ли данная папка в текущем каталоге?
Если он не существует, как я могу создать пустую папку?
Проверка наличия папки (и создания папок) в Qt, С++
Ответ 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(...);