我应该使用URLDownloadToFile吗?

Avi*_*viv 9 c++ file download

我正在寻找用C++(在Windows上)下载文件的最简单方法.URLDownloadToFile听起来很棒,并不要求我使用我不需要的curl或其他胖库 - 这个函数的要求是什么?它将运行哪个Windows?

谢谢!

Mik*_*ron 14

http://msdn.microsoft.com/en-us/library/ms775123%28VS.85%29.aspx

文档是有原因的.

E:只是看一下文档,它至少需要Internet Explorer 3.0和Windows 95.很少有计算机不能满足这些要求.

E:以下是如何使用此功能的示例.您还需要链接Urlmon.lib到编译:

#include "stdafx.h"
#include <stdio.h>
#include <tchar.h>

#include <windows.h>
#include <Urlmon.h>

int _tmain(int argc, _TCHAR* argv[])
{
    printf("URLDownloadToFile test function.\n");

    TCHAR url[] = TEXT("http://google.com");

    printf("Url: %S\n", url);

    TCHAR path[MAX_PATH];

    GetCurrentDirectory(MAX_PATH, path);

    wsprintf(path, TEXT("%s\\index.html"), path);

    printf("Path: %S\n", path);

    HRESULT res = URLDownloadToFile(NULL, url, path, 0, NULL);

    if(res == S_OK) {
        printf("Ok\n");
    } else if(res == E_OUTOFMEMORY) {
        printf("Buffer length invalid, or insufficient memory\n");
    } else if(res == INET_E_DOWNLOAD_FAILURE) {
        printf("URL is invalid\n");
    } else {
        printf("Other error: %d\n", res);
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)