【问题标题】:Create a structure of folders创建文件夹结构
【发布时间】:2019-10-27 22:32:39
【问题描述】:

我正在尝试创建一个文件夹结构,例如:

c:\game\user\user_profile\...

但是当我使用CreateDirectory() 函数时,它似乎并没有按照我的意愿去做。我想我用错了,我真的很感激能快速解释一下这个函数的实际作用。这是我的代码:

void CreateDir(const char* path) {

    if (!CreateDirectory(path, NULL))
    {
        cout << "Fail";
        return;
    }
    else
        cout << "Success?";
}

int main()
{
    CreateDir("c:\\game\\user\\user_profile");
    system("pause");
}

似乎该功能允许我创建一个文件夹(game),然后允许我在其中添加 1 个文件夹(user - 我认为这是因为它知道在哪里game 是),但是如果我尝试在目录中包含多个文件夹,它似乎会失败。

我希望能够使用此功能创建文件夹结构,但它似乎不起作用。

我再次确定我在这里错误地使用了这个功能,有人可以建议吗?

【问题讨论】:

标签: c++ visual-studio winapi


【解决方案1】:

如果您使用 C++ 17 filesystem 库是标准库的一部分,因此您可以像这样使用它:

#include <filesystem>

std::filesystem::create_directories("c:\\game\\user\\user_profile");

如果您使用的是 g++,则需要添加“-std=c++17”和“-lstdc++fs”标志。

【讨论】: