Получите строку временного файла и добавьте пользовательскую папку

#c #visual-studio #visual-c

Вопрос:

Я новичок в C , и я думал о том, как получить строку временной папки пользователя в Windows и добавить к ней пользовательское имя папки.

например "UsersuserAppDataLocalTempNameOfCustomFolder"

Я пробовал это:

     std::string szOutput{};
    TCHAR path_buf[MAX_PATH];
    DWORD ret_val = GetTempPath(MAX_PATH, path_buf);
    if (ret_val > MAX_PATH || (ret_val == 0))
    {
        std::cout << "GetTempPath failed";
    }
    else
    {
        szOutput = path_buf, "NameOfCustomFolder\file.exe"
    }

    return szOutput;
 

Ответ №1:

Это не выполняет конкатенацию строк, которую вы хотите

 szOutput = path_buf, "NameOfCustomFolder\file.exe";
 

Скорее сделай

 szOutput = std::string{path_buf}   "NameOfCustomFolder\file.exe";
 

Ответ №2:

Если вы можете использовать C 17, я бы предложил std::файловая система::путь::добавить

Он позаботится о разделителях путей и облегчит переход на кросс-платформу.