您的位置:首页 > 编程语言 > C语言/C++

用InternetOpen下载小文件 vc c++

2010-11-17 16:24 405 查看
#include "stdafx.h"

#include<windows.h>

#include<wininet.h>

#include<iostream.h>

#pragma comment(lib,"wininet.lib")

void
main()

{

DWORD
byteread=0;

char
buffer[100];

memset(buffer,0,100);

HINTERNET internetopen;

internetopen=InternetOpen("Testing"
,INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,0);

if
(internetopen==NULL)

{

cout<<"Internet open failed!"
<<endl;

return
;

}

HINTERNET internetopenurl;

internetopenurl=InternetOpenUrl(internetopen,"http://dt.163.com/images/news/0605/news02053101_5.jpg"
,NULL,0,INTERNET_FLAG_RELOAD,0);

if
(internetopenurl==NULL)

{

cout<<"Internet open url failed!"
<<endl;

goto
there;

}

BOOL
hwrite;

DWORD
written;

HANDLE
createfile;

createfile=CreateFile("c://sss.jpg"
,GENERIC_WRITE,0,0,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);

if
(createfile==INVALID_HANDLE_VALUE)

{

cout<<"Create File failed!"
<<endl;

goto
next;

}

BOOL
internetreadfile;

while
(1)

{

internetreadfile=InternetReadFile(internetopenurl,buffer,sizeof
(buffer),&byteread);

if
(byteread==0)

break
;

hwrite=WriteFile(createfile,buffer,sizeof
(buffer),&written,NULL);

if
(hwrite==0)

{

cout<<"Write to file failed!"
<<endl;

goto
here;

}

}

cout<<"Finished downloading!"
<<endl;

here:

CloseHandle(createfile);

next:

InternetCloseHandle(internetopenurl);

there:

InternetCloseHandle(internetopen);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: