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++程序设计有所帮助。

时间: 2024-10-28 00:57:33

C++实现下载的代码_C 语言的相关文章

C语言冒泡排序算实现代码_C 语言

冒泡排序是排序算法的一种,思路清晰,代码简洁,常被用在大学生计算机课程中. "冒泡"这个名字的由来是因为越大的元素会经由交换慢慢"浮"到数列的顶端,故名. 这里以从小到大排序为例进行讲解. 基本思想及举例说明 冒泡排序的基本思想就是不断比较相邻的两个数,让较大的元素不断地往后移.经过一轮比较,就选出最大的数:经过第2轮比较,就选出次大的数,以此类推. 下面以对 3  2  4  1 进行冒泡排序说明. 第一轮 排序过程3  2  4  1    (最初) 2  3 

基于C语言实现的扫雷游戏代码_C 语言

本文详细讲述了基于C语言实现的扫雷游戏代码,代码中备有比较详细的注释,便于读者阅读和理解.希望对学习游戏开发的朋友能有一点借鉴价值. 完整的实例代码如下: /* 模拟扫雷游戏 */ #include <graphics.h> #include <math.h> #include <stdio.h> #include <dos.h> #include <stdlib.h> #include <conio.h> #include <

C语言二分查找算法及实现代码_C 语言

二分査找也称折半査找,其优点是查找速度快,缺点是要求所要査找的数据必须是有序序列.该算法的基本思想是将所要査找的序列的中间位置的数据与所要査找的元素进行比较,如果相等,则表示査找成功,否则将以该位置为基准将所要査找的序列分为左右两部分.接下来根据所要査找序列的升降序规律及中间元素与所查找元素的大小关系,来选择所要査找元素可能存在的那部分序列,对其采用同样的方法进行査找,直至能够确定所要查找的元素是否存在,具体的使用方法可通过下面的代码具体了解. #include <stdio.h> binar

VC++基于Dx实现的截图程序示例代码_C 语言

本文所述的程序示例为VC++图象特效的截图示例,需要DirectX 3.0以上版,代码中的GetScreen函数是本截图程序的关键.运行这个程序可用Esc键结束.代码中需要ddutil.h与ddutil.cpp文件,请自行下载添加.关于InitDDraw()函数,功能是初始化DirectDraw环境,创建换页链(主页面,一个后台缓冲区),以及创建一个定时器. 具体的功能代码如下: #include <windows.h> #include <windowsx.h> #include

解析四则表达式的编译过程及生成汇编代码_C 语言

1.前序这是编译原理的实验,自认为是上大学以来做过的最难的一个实验.实验用到的基础知识:C语言.数据结构.汇编(只需简单的了解).开发工具:VC 2.问题描述编译整数四则运算表达式,将整数四则运算表达式翻译为汇编语言代码.消除左递归后的文法:E→TE'E'→+TE' |εT→FT'T'→*FT' |εF→(E) | i消除左递归后的翻译模式:E ::=     T    {E'.i:=T.nptr}E'    {E.nptr:=E'.s}E'::=      + T  {E'1.i:=mknod

美化你的代码 vb(VBS)代码格式化的实现代码_C 语言

不过VB.NET确实有许多VB6没有的新功能,代码的自动排版就是一项,这也正是我们今天要实现的功能--VB代码格式化. 先看下实现的效果: 格式化前: 复制代码 代码如下: For i = 0 To WebBrowser1.Document.All.length - 1 If WebBrowser1.Document.All(i).tagName = "HTML" Then strContent = strContent & WebBrowser1.Document.All(i

C语言system 自动关机函数代码_C 语言

ime_t t; time(&t); 函数名称: time 函数原型: time_t time(time_t *timer) 函数功能: 得到机器的日历时间或者设置日历时间 函数返回: 机器日历时间 参数说明: timer=NULL时得到机器日历时间,timer=时间数值时,用于设置日历时间,time_t是一个long类型 所属文件: <time.h> #include <time.h> #include <stdio.h> #include <dos.h

用C++实现一个链式栈的实例代码_C 语言

自定义一个链式栈,c++语言实现,不足之处,还望指正! 复制代码 代码如下: // MyStack.cpp : 定义控制台应用程序的入口点.//自己构造一个链式栈,具有push(入栈),pop(出栈),top(取得栈顶元素),size(返回栈大小),empty(判断是否为空)等功能#include "stdafx.h"#include <iostream>using namespace std;//构造栈的节点template <class T>struct N

C++简单QQ程序服务器端的实现代码_C 语言

本文实例为大家分享了C++简单QQ程序服务器端的实现代码,供大家参考,具体内容如下 // ServerDlg.cpp : implementation file // #include "StdAfx.h" #include "Server.h" #include "ServerDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] =