C++实现下载的代码

 更新时间:2014年10月09日 10:26:49   投稿:shichen2014  
这篇文章主要介绍了C++实现下载的代码,以下载百度图片为例较为完整的讲述了C++下载的具体实现方法,需要的朋友可以参考下

本文实例讲述了C++实现下载的方法,分享给大家供大家参考。

具体实现代码如下:

复制代码 代码如下:
#include <UrlMon.h> 
#include <WinInet.h> 
 
#pragma comment(lib,"wininet") 
 
 
void CFileDownloadDlg::OnBnClickedBtnDownload() 

    // 使用UrlDownloadToFile函数 
    HRESULT hRet = URLDownloadToFile(NULL,"http://www.baidu.com/img/baidu_sylogo1.gif","c:\\temp\\1.gif",0,NULL); 
    if (S_OK != hRet) 
    { 
        MessageBox("下载失败"); 
        return; 
    } 
 
    //使用windows internet 库 
    HINTERNET hSession = InternetOpen("", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); 
    if (hSession != NULL) 
    { 
        HINTERNET hLink2 = InternetOpenUrl(hSession, "http://www.baidu.com/img/baidu_sylogo1.gif", NULL, 0, INTERNET_FLAG_DONT_CACHE, 0); 
        if (hLink2 != NULL) 
        { 
            BYTE temp[1024]; 
            DWORD dwNum = 1; 
            FILE *hFile; 
 
            if ((hFile = fopen("c:\\temp\\2.gif", "wb")) != NULL) 
            { 
                while (dwNum>0) 
                { 
                    InternetReadFile(hLink2, temp, 1024, &dwNum); 
                    fwrite(temp, sizeof(char), dwNum, hFile); 
                } 
                fclose(hFile); 
                MessageBox("download finished..."); 
 
            } 
 
            InternetCloseHandle(hLink2); 
            hLink2 = NULL; 
        } 
        InternetCloseHandle(hSession); 
        hSession = NULL; 
    } 
}

希望本文所述对大家的C++程序设计有所帮助。

相关文章

  • C语言实现三子棋

    C语言实现三子棋

    这篇文章主要为大家详细介绍了C语言实现三子棋,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • C++中pair的用法总结

    C++中pair的用法总结

    pair是C++STL(标准模板库)中的一个现有容器,它将2个数据整合成一组数据,当我们类似需求的时候就可以使用到pair,pair的本质其实就是个结构体,本文将详细的给大家介绍pair用法,感兴趣的同学可以参考阅读
    2023-05-05
  • C++用函数对算法性能进行测试

    C++用函数对算法性能进行测试

    算法无处不在,算法是程序的灵魂,而数据结构则是程序的骨架,二者共同构成了程序,那么如何评估算法的性能呢?理论上可以通过计算时间复杂度的方法来评估,但这是理性的认识,我们还有一种直观的评估方法,那就是程序执行的时间
    2022-08-08
  • 用C/C++代码检测ip能否ping通(配合awk和system可以做到批量检测)

    用C/C++代码检测ip能否ping通(配合awk和system可以做到批量检测)

    今天小编就为大家分享一篇关于用C/C++代码检测ip能否ping通(配合awk和system可以做到批量检测),小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • C++中string替换所有指定字符串的方法

    C++中string替换所有指定字符串的方法

    这篇文章主要介绍了C++中string替换所有指定字符串的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • 探讨C语言的那些小秘密之断言

    探讨C语言的那些小秘密之断言

    我尽可能的把我所理解的断言的使用讲解清楚,希望我在此所讲的断言能够对你有所帮助,让你以后能够在代码中灵活使用断言
    2013-09-09
  • c病毒程序原理分析(防范病毒 c语言小病毒示例)

    c病毒程序原理分析(防范病毒 c语言小病毒示例)

    这篇文章主要介绍了病毒程序原理,写个小程序做演示,大家可以参考这个以防中相似C病毒
    2013-12-12
  • MongoDB C 驱动程序安装(libmongoc) 和 BSON 库(libbson)方法

    MongoDB C 驱动程序安装(libmongoc) 和 BSON 库(libbson)方法

    这篇文章主要介绍了安装 MongoDB C 驱动程序 (libmongoc) 和 BSON 库 (libbson),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • 使用C++实现简单的文章生成器

    使用C++实现简单的文章生成器

    这篇文章主要为大家详细介绍了鹅湖使用C++实现简单的狗屁不通文章生成器,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下
    2024-03-03
  • C语言的各类变量和零值的比较详解

    C语言的各类变量和零值的比较详解

    这篇文章主要为大家介绍了C语言的各类变量和零值的比较,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-11-11

最新评论