代码改变世界

C++下载

2010-11-20 16:16  咸蛋哥哥  阅读(373)  评论(0编辑  收藏  举报

前几天有个学妹问了个关于C++下载的问题。对C++我还真是很陌生,所以最近业余也试图学习点.

从网上扒了一下,不过网上的有点错误,有点小修改并加了个保存文件到磁盘,也当是自己学习下呃 

代码
#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;
}