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"

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

1 ответ

Вы не можете объединить 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); 
Другие вопросы по тегам