国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++下載文件到本地

2019-11-08 18:22:01
字體:
來源:轉載
供稿:網友
#include <iostream>#include <afxinet.h>#include <wininet.h> #PRagma comment( lib, "wininet.lib" )#define MAXBLOCKSIZE 1024using namespace std;bool DownloadFileAndSaveToLocal1(char* url, char* localPath){//存放的路徑WCHAR newLocalPathName[256];memset(newLocalPathName, 0, sizeof(newLocalPathName));MultiByteToWideChar(CP_ACP, 0, localPath, strlen(localPath) + 1, newLocalPathName, sizeof(newLocalPathName) / sizeof(newLocalPathName[0]));//字符串轉換WCHAR wszUrlName[256];WCHAR wszPathName[1024];memset(wszUrlName, 0, sizeof(wszUrlName));memset(wszPathName, 0, sizeof(wszPathName));MultiByteToWideChar(CP_ACP, 0, url, strlen(url) + 1, wszUrlName,sizeof(wszUrlName) / sizeof(wszUrlName[0]));MultiByteToWideChar(CP_ACP, 0, url, strlen(url) + 1, wszPathName,sizeof(wszPathName) / sizeof(wszPathName[0]));//首先獲取資源文件的信息HINTERNET internetOpen = InternetOpen(NULL, INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);if (internetOpen == NULL)return FALSE;//打開連接HINTERNET internetOpenUrl = InternetOpenUrl(internetOpen, wszUrlName, NULL, 0, INTERNET_FLAG_TRANSFER_BINARY | INTERNET_FLAG_PRAGMA_NOCACHE, 0);if (internetOpenUrl == NULL){InternetCloseHandle(internetOpen);return FALSE;}//檢查狀態碼DWord dwStatusCode;DWORD dwStatusSize = sizeof(dwStatusCode);HttpQueryInfo(internetOpenUrl, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, &dwStatusCode, &dwStatusSize, NULL);if (dwStatusCode != 200){InternetCloseHandle(internetOpenUrl);InternetCloseHandle(internetOpen);return FALSE;}//獲取接收數據大小DWORD m_iSize;DWORD dwLengthSize = sizeof(m_iSize);HttpQueryInfo(internetOpenUrl, HTTP_QUERY_CONTENT_LENGTH | HTTP_QUERY_FLAG_NUMBER, &m_iSize, &dwLengthSize, NULL);if (m_iSize < 0){InternetCloseHandle(internetOpenUrl);InternetCloseHandle(internetOpen);return FALSE;}//創建本地文件//HANDLE createFile = CreateFile(wszPathName, GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);//HANDLE createFile = CreateFile(newLocalPathName, GENERIC_WRITE, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);HANDLE createFile = CreateFile(newLocalPathName, GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);//如果本地文件是個無效的句柄 則就結束if (createFile == INVALID_HANDLE_VALUE)return FALSE;//執行讀取數據char buffer[100000];memset(buffer, 0, sizeof(buffer));DWORD byteRead = 0;BOOL hwrite;DWORD written;int a = 0;if (internetOpenUrl != NULL){while (true){InternetReadFile(internetOpenUrl, buffer, sizeof(buffer), &byteRead);if (byteRead == 0)//讀取完畢break;hwrite = WriteFile(createFile, buffer, byteRead, &written, NULL);if (hwrite == 0)//寫入失敗break;}}//下載完畢關閉連接InternetCloseHandle(internetOpenUrl);InternetCloseHandle(internetOpen);return TRUE;}void main(){if (DownloadFileAndSaveToLocal1("http://www.baidu.com/", "D://abc//index4.html")){cout << "成功了!" << endl;}}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 西和县| 安达市| 仁化县| 新晃| 临武县| 华坪县| 扎囊县| 顺义区| 县级市| 丰顺县| 朝阳市| 凌云县| 大英县| 攀枝花市| 宽甸| 柏乡县| 杨浦区| 鄱阳县| 文水县| 马尔康县| 友谊县| 红河县| 天台县| 炉霍县| 淮阳县| 斗六市| 乌兰浩特市| 阿尔山市| 郧西县| 周至县| 子长县| 阆中市| 腾冲县| 惠来县| 维西| 长泰县| 西充县| 泸州市| 固原市| 巴彦淖尔市| 玛曲县|