#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::файловая система::путь::добавить
Он позаботится о разделителях путей и облегчит переход на кросс-платформу.