C++ 将文件下载到应用数据

C++ Downloading a file to appdata

本文关键字:应用 数据 文件下载 C++      更新时间:2023-10-16

我正在尝试将文件下载到

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时出现错误

我该怎么做。谢谢。

你不能通过像这样添加char*指针来组合它们,你需要连接这些字符串。您可能希望改用支持operator+=std:string

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);