【发布时间】: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 是),但是如果我尝试在目录中包含多个文件夹,它似乎会失败。
我希望能够使用此功能创建文件夹结构,但它似乎不起作用。
我再次确定我在这里错误地使用了这个功能,有人可以建议吗?
【问题讨论】:
-
您需要一个一个地创建内部文件夹。没有别的办法。如果您检查错误代码 - 您将查看
ERROR_PATH_NOT_FOUND- One or more intermediate directories do not exist. This function only creates the final directory in the path. To create all intermediate directories on the path, use the SHCreateDirectoryEx function. -
@RbMm 应该作为答案发布
标签: c++ visual-studio winapi