Создать структуру папок - PullRequest
0 голосов
/ 28 октября 2019

Я пытаюсь создать структуру папок, например что-то вроде этого:

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 ), а затем позволяет добавить еще одну папку внутри нее (user - Я предполагаю, что это потому, что он знает, где находится game), но если я попытаюсь включить в каталог более 1 папки, похоже, произойдет сбой.

Я хочу иметь возможность создавать структуру папок с помощью этой функции, но, похоже, она не работает.

Опять же, я уверен, что я неправильно использую эту функцию здесь,может кто-нибудь посоветовать?

1 Ответ

1 голос
/ 28 октября 2019

Если вы используете C ++ 17 filesystem, библиотека является частью стандартной библиотеки, поэтому вы можете использовать ее следующим образом:

#include <filesystem>

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

И если вы используете g ++, вам нужно добавить "-std =c ++ 17 "и" -lstdc ++ fs "флаги.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...