Как мне создать каталог внутри папки документов? - PullRequest
0 голосов
/ 28 октября 2018

Вот моя попытка найти папку с документами, которая есть у любого пользователя, а затем создать папку. Я относительно новичок в c ++ и просто пытаюсь понять, как работают каталоги

  void useraccess::createtxt() {
    //name is a pre-defined string
    cout << "Creating user\n";

    #ifdef _WIN32
    LPTSTR path = NULL;
    HRESULT hr = SHGetKnownFolderPath(FOLDERID_Documents, 0, NULL, &path);

    if (SUCCEEDED(hr)) {
        path + \\name;
        CreateDirectoryA(path, NULL);
    }
    else {
        cout << "Error finding documents folder";
    }

    #elif __APPLE__

    #else
        cout << "Error";
    #endif
}

1 Ответ

0 голосов
/ 28 октября 2018
#include <cstdlib>
#include <string>
#include <iostream>

#include <windows.h>
#include <shlobj_core.h>


int main()
{
    PWSTR path_temp;

    if (SHGetKnownFolderPath(FOLDERID_PublicDocuments, 0, nullptr, &path_temp) != S_OK) {
        std::cerr << "SHGetKnownFolderPath() failed :(\n\n";
        return EXIT_FAILURE;
    }

    std::wstring path{ path_temp };
    CoTaskMemFree(path_temp);

    path += L"\\foobar";

    if (SHCreateDirectory(nullptr, path.c_str()) != ERROR_SUCCESS) {
        std::cerr << "SHCreateDirectory() failed :(\n\n";
        return EXIT_FAILURE;
    }

    std::wcout << L"Directory \"" << path << L"\" created.\n\n";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...