gpt4 book ai didi

C++ 下载文件 - 如果不可用,增加 RAM 使用率 1mb/s

转载 作者:行者123 更新时间:2023-11-30 05:30:14 29 4
gpt4 key购买 nike

如果无法下载文件,我的代码会不断填充 RAM。(禁用网络进行测试)如何在超时后停止下载?

这里是下载的主要部分:

int WINAPI WinMain(HINSTANCE instanceHandle, HINSTANCE, char*, int)
{
using namespace std;
std::wstring loadme = targetfolder;
loadme += L"\\filename.txt";
std::wstring url1(L"fileurl");
HRESULT hr1 = URLDownloadToFile(NULL, (url1.c_str()), (loadme.c_str()), 0, NULL); //Download-Start
}

最佳答案

您可以使用 WinINet 函数检查互联网是否可用,检查 url 链接是否可用,并报告进度。需要“wininet.lib”

WinINet Reference

#include <windows.h>
#include <wininet.h>
#include <fstream>

void geturl(const wchar_t *url)
{
std::ofstream file("c:\\test\\test.htm");
HINTERNET hopen = InternetOpen(L"myAppName",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);
if (hopen)
{
HINTERNET hurl = InternetOpenUrl(hopen,url,NULL,0,INTERNET_FLAG_DONT_CACHE,0);
if (hurl)
{
DWORD received;
const int bufsize = 1024;
char buf[bufsize];
while (InternetReadFile(hurl, buf, bufsize, &received))
{
//progress...
if (!received) break;
file.write(buf, received);
}
InternetCloseHandle(hurl);
}
InternetCloseHandle(hopen);
}
}

关于C++ 下载文件 - 如果不可用,增加 RAM 使用率 1mb/s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36070653/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com