国产探花免费观看_亚洲丰满少妇自慰呻吟_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;}}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 安龙县| 杭州市| 金平| 天门市| 凭祥市| 廉江市| 黄冈市| 华亭县| 玉树县| 阿克陶县| 台州市| 成武县| 章丘市| 钟祥市| 田林县| 兴文县| 当阳市| 岢岚县| 晴隆县| 罗源县| 固原市| 泰宁县| 和平县| 曲松县| 偏关县| 华安县| 宜丰县| 苍南县| 仙游县| 营口市| 江永县| 濉溪县| 武邑县| 西宁市| 徐汇区| 雷山县| 晋城| 泊头市| 佳木斯市| 禹州市| 盘山县|