C++實現下載的代碼_C 語言

來源:互聯網
上載者:User

本文執行個體講述了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++程式設計有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.