Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 检查Qt、C+中是否存在文件夹(并创建文件夹)+;_C++_Qt_Filesystems - Fatal编程技术网

C++ 检查Qt、C+中是否存在文件夹(并创建文件夹)+;

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

在Qt中,如何检查当前目录中是否存在给定文件夹?

如果不存在,如何创建空文件夹?

要检查名为“文件夹”的目录是否存在,请使用:

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);