久久久久女教师免费一区-亚洲精品久久-www.com国产-欧美亚洲日本-99热在线免费观看-欧美久久久

北京北大青鳥學校:如何編寫一個下載程序(上)

我們每天都會在網上下載很多軟件,無論是辦公軟件還是游戲軟件,都能在網上很輕松的下到本地電腦。那么我們自己能否編寫一套下載程序呢?今天,北京北大青鳥學校就為大家介紹一下如何編寫一個非常簡單的下載小程序。

開發環境:WINDOWS 2000 + VC++6.0
使用語言:C
實現功能:下載網絡資源

首先我們要建立一個文件夾來存放下載的軟件,利用Directory();就可以輕松實現。代碼如下:
int Directory()
{
//建立目錄,如果成功返回1,不成功返回0
    int D;
      D=CreateDirectory(c:mydownload,NULL);
        return D;
}

當文件夾存在時,函數將什么也不做,達到文件夾不存在時建立文件夾的目的。
我們利用URLDownloadToFile();這個函數來實現下載,我們來簡單的看一下這個函數的簡單介紹:
URLDownloadToFile函數原型:
HRESULT URLDownloadToFile(      
                     LPUNKNOWN pCaller,
                     LPCTSTR szURL,
                     LPCTSTR szFileName,
                     DWORD dwReserved,
                     LPBINDSTATUSCALLBACK lpfnCB
                    );(北京北大青鳥學校)
這個API是在URLMON.DLL文件中的一個導出函數,簡單的實現了把一個文件從WEB服務器下載本機的功能,其實用這個函數還可以幫我們處理了斷點續傳,緩存等等的功能。

URLDownloadToFile的五個參數:
第一個 一般為NULL。
第二個 參數就是要下載文件的目標URL,完整路徑。
第三個 是本地保存路徑,也是完整路徑。
第四個 是保留,必須為0。
第五個 是指向一個IBindStatusCallback接口的指針,這就類似一種回調機制,你可以參考這些來活動當前下載進度,選擇是否繼續下載等等.

在這個簡單的程序我們只關心第二和第三個參數,其他的通通設置成0。具體代碼如下:
int downfile(char *downurl)
{
    //下載文件保存到c:mydownload目錄下。
  HRESULT h;
  char *filename;            
  char *tk;              
  char url[MAX_PATH];        
  char path[MAX_PATH];        
  char st[]=/;
  int reslut=0;          

    strcpy (url,downurl);           //將下載路徑拷貝到URL中  
  tk=strtok(url,st);                 // 獲取下載路徑中的文件名

  while(tk!=NULL)
      {
        filename=tk;    
        tk=strtok(NULL,st);
      }

    strcpy(path,c:mydownload);     //將c:mydownload拷貝到PATH中
  strcat(path,filename);               //連接字符串,得到完整保存路徑      
   
      if(file(path))               //調用判斷文件名是否重名函數
      {
          printf(連接中……n);
      h= URLDownloadToFile(0,downurl,path,0,0); //下載文件
    if(h==S_OK)                       //判斷是否下載完成          
      {
          printf(文件下載成功!n);
      printf(文件保存路徑:%sn,path);
      return reslut;                 //函數返回0
      }
        else
        {
        reslut=1;
          return reslut;             //函數返回1
        }

      }
      else
        {
        exit(0);
        }
}(北京北大青鳥學校)

  根據函數返回值我們來進行判斷:
        i=downfile(u);
        if(i==0)
        {
          printf(謝謝使用。n);
        }
            else
              {
              printf(n未找到下載文件,請檢查下載地址是否正確n);
              }
(北京北大青鳥學校,未完)

北大青鳥網上報名
北大青鳥招生簡章
主站蜘蛛池模板: 久久久久在线 | 欧美三级欧美一级 | 国产99视频精品免费观看7 | 久久久精品免费热线观看 | 欧美性精品videofree | 午夜亚洲国产成人不卡在线 | 一区二区三区国产精品 | 精品欧美一区二区三区在线观看 | 国产三区视频在线观看 | 成年人免费在线视频网站 | 99视频在线精品 | 草久在线播放 | 天天鲁天天爱天天鲁天天 | 7ass欧美| 亚洲第一区精品日韩在线播放 | 亚洲天堂视频在线观看 | 美女被躁免费视频软件 | 欧美精品成人 | 久久精品国产亚洲aa | 精品国产乱码久久久久久一区二区 | 成人午夜视频在线观看 | 成年人免费网站在线观看 | 草久视频在线 | 2019国产精品 | 国产91精品一区 | 欧美一级性视频 | 欧美在线视频免费 | 国内自拍在线 | 波多野结衣一区在线观看 | 日日干日日操日日射 | 国产欧美综合一区二区 | 男人天堂网站在线 | 日韩精品无码一区二区三区 | 99秒拍福利大尺度视频 | 国产一区二区三区视频在线观看 | 香港激情黄三级在线视频 | 亚洲欧美日韩国产精品久久 | 超矿碰人人超人人看 | 成人亚洲精品一区二区 | 国产1000部成人免费视频 | 欧美另类69xxxxx极品 |