C ++将文件下载到appdata

时间:2014-02-05 14:21:50

标签: c++ file download 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 个答案:

答案 0 :(得分: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);