【发布时间】:2011-01-15 13:20:29
【问题描述】:
在 Qt 中,如何检查给定文件夹是否存在于当前目录中?
如果它不存在,我该如何创建一个空文件夹?
【问题讨论】:
标签: c++ qt filesystems
在 Qt 中,如何检查给定文件夹是否存在于当前目录中?
如果它不存在,我该如何创建一个空文件夹?
【问题讨论】:
标签: c++ qt filesystems
要检查名为“文件夹”的目录是否存在,请使用:
QDir("Folder").exists();
要创建一个名为“MyFolder”的新文件夹,请使用:
QDir().mkdir("MyFolder");
【讨论】:
QDir::exists("absolutepath") 和 QDir::mkdir(""absolutepath")
QDir::mkdir("relative_path") 发生冲突。不可能同时拥有两个重载。
为什么要使用其他东西?
mkdir(...);
【讨论】:
检查它是否存在,如果不存在则创建,包括中间人:
QDir dir("path/to/dir");
if (!dir.exists())
dir.mkpath(".");
【讨论】:
当您使用 QDir.mkpath() 时,如果路径已经存在,则返回 true;另一方面,如果路径已经存在,QDir.mkdir() 则返回 false。因此,根据您的程序,您必须选择更适合的程序。
你可以在Qt Documentation看到更多
【讨论】:
如果你需要一个空文件夹,你可以循环直到你得到一个空文件夹
QString folder= QString ("%1").arg(QDateTime::currentMSecsSinceEpoch());
while(QDir(folder).exists())
{
folder= QString ("%1").arg(QDateTime::currentMSecsSinceEpoch());
}
QDir().mkdir(folder);
这种情况下你会得到一个带有数字的文件夹名称。
【讨论】: