C++ 检查Qt、C+中是否存在文件夹(并创建文件夹)+;
在Qt中,如何检查当前目录中是否存在给定文件夹?C++ 检查Qt、C+中是否存在文件夹(并创建文件夹)+;,c++,qt,filesystems,C++,Qt,Filesystems,在Qt中,如何检查当前目录中是否存在给定文件夹? 如果不存在,如何创建空文件夹?要检查名为“文件夹”的目录是否存在,请使用: QDir("Folder").exists(); 要创建名为“MyFolder”的新文件夹,请使用: 为什么还要用别的东西 mkdir(...); 要检查它是否存在,并创建它(包括中介机构),请执行以下操作: QDir dir("path/to/dir"); if (!dir.exists()) dir.mkpath("."); 使用QDir.mkpat
如果不存在,如何创建空文件夹?要检查名为“文件夹”的目录是否存在,请使用:
QDir("Folder").exists();
要创建名为“MyFolder”的新文件夹,请使用:
为什么还要用别的东西
mkdir(...);
要检查它是否存在,并创建它(包括中介机构),请执行以下操作:
QDir dir("path/to/dir");
if (!dir.exists())
dir.mkpath(".");
使用QDir.mkpath()时,如果路径已经存在,则返回true;另一方面,如果路径已经存在,则QDir.mkdir()返回false。因此,根据您的程序,您必须选择更适合您的程序
如果您需要一个空文件夹,您可以在上查看更多信息,您可以循环直到获得一个空文件夹
QString folder= QString ("%1").arg(QDateTime::currentMSecsSinceEpoch());
while(QDir(folder).exists())
{
folder= QString ("%1").arg(QDateTime::currentMSecsSinceEpoch());
}
QDir().mkdir(folder);
在这种情况下,您将得到一个带有数字的文件夹名。这个答案与@Petrucio的答案相比如何?我无法从文档中推断出这一点。为什么它不是静态的
QDir::exists(“绝对路径”)
和QDir::mkdir(“绝对路径”)
@yalov-因为它会与非静态QDir::mkdir(“相对路径”)冲突
。不可能同时具有两个重载。@JonasG.Drange此答案不会在复杂的/path/structure/with/intermediate/folders中创建中间文件夹。客观上,我的答案更好;其上升投票数更少的原因是因为它是在这一次之后两年发布的。因为你不能像在Qt中那样使用它。工作得很有魅力!
QString folder= QString ("%1").arg(QDateTime::currentMSecsSinceEpoch());
while(QDir(folder).exists())
{
folder= QString ("%1").arg(QDateTime::currentMSecsSinceEpoch());
}
QDir().mkdir(folder);