C++下载
2010-11-20 16:16 咸蛋哥哥 阅读(373) 评论(0) 编辑 收藏 举报前几天有个学妹问了个关于C++下载的问题。对C++我还真是很陌生,所以最近业余也试图学习点.
从网上扒了一下,不过网上的有点错误,有点小修改并加了个保存文件到磁盘,也当是自己学习下呃
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#include<iostream>
#include <fstream>
#include <windows.h>
#include <wininet.h>
#pragma comment(lib, "Wininet.lib")
using namespace std;
#define MAXBLOCKSIZE 1024
int main(void()){
char isSave;
cout<<"是否保存文件到磁盘?(Y/N)\t"<<endl;
cin>>isSave;
char url[] = "http://www.baidu.com"; //网址或文件地址
char buffer[100000];//下载文件的缓冲区
DWORD bytes_read;//下载的字节数
//打开一个internet连接
HINTERNET internet=InternetOpen("C++下载", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, NULL);
//打开一个http url地址
HINTERNET file_handle=InternetOpenUrl(internet, url, NULL, 0, INTERNET_FLAG_RELOAD, 0);
//从url地址中读取文件内容到缓冲区buffer
BOOL b = InternetReadFile(file_handle, buffer, 100000, &bytes_read);
buffer[bytes_read] = 0;
if(isSave=='Y'){
fstream fs;//写入文件这里可根据自己需要写,
fs.open("D:\\1.html",fstream::in|fstream::out|fstream::app);
fs.seekg(0,ios::end);
fs<<buffer;
fs.close();
}
cout << buffer << endl;
InternetCloseHandle(internet);
char pause;
cout<<" \n\t\r==============下载完了======="<<endl;
cin>>pause;
}