我正在尝试创建一个文件夹结构,例如这样的:
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
在哪里),但是如果我尝试将超过 1 个文件夹包含到目录中,它似乎会失败。
我希望能够使用此功能创建文件夹结构,但它似乎不起作用。
我再次确定我在这里错误地使用了这个函数,有人可以建议吗?
最佳答案
如果您使用的是 C++ 17 文件系统
库是标准库的一部分,那么您可以像这样使用它:
#include <filesystem>
std::filesystem::create_directories("c:\\game\\user\\user_profile");
如果您使用的是 g++,则需要添加“-std=c++17”和“-lstdc++fs”标志。
关于c++ - 创建文件夹结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58583920/