C ++ Загрузка файла в appdata

Я пытаюсь загрузить файл в

 char* appdata = getenv("APPDATA");
lpURLDownloadToFile URLDownloadToFile;
HMODULE hUrlmon = LoadLibrary("URLMON.DLL");
URLDownloadToFile = (lpURLDownloadToFile)GetProcAddress(hUrlmon, "URLDownloadToFileA");
URLDownloadToFile(0, "http://example.com/test.zip",appdata+"test.zip", 0, 0);

У меня нет ошибки, когда я пишу путь вручную, но я получаю ошибку, когда я пытаюсь использовать appdata + «test.zip»

Как мне это сделать. Благодарю.

0

Решение

Вы не можете объединить char* указатели, добавляя их так, вам нужно объединить эти строки. Вы можете использовать std:string вместо того, чтобы поддержать operator+=,

std::string appdata(getenv("APPDATA"));
appdata += "test.zip";

HMODULE hUrlmon = LoadLibrary("URLMON.DLL");
URLDownloadToFile = (lpURLDownloadToFile)GetProcAddress(hUrlmon, "URLDownloadToFileA");
URLDownloadToFile(0, "http://example.com/test.zip", appdata.c_str(), 0, 0);
0

Другие решения

Других решений пока нет …