首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请帮改一上

2012-09-24 
请帮改一下buf改成CString的,一次装下html,另外生成的txt里有黑方块下面是我从之前一位朋友那抄来的,加了

请帮改一下
buf改成CString的,一次装下html,另外生成的txt里有黑方块
下面是我从之前一位朋友那抄来的,加了些容错,请帮加个循环,外层下载html到CString搜索资源(swf)地址,里面再次OpenUrl批量下载,都要在这一个程序里完成,有没有乐意改的,谢谢
我在家用猫上网,就一台机器,xp,IE8

C/C++ code
    FILE *fp;    BYTE buf[2048];    DWORD dwBytesRead=1;    HINTERNET hInternet1=InternetOpen("RookIE/1.0",INTERNET_OPEN_TYPE_DIRECT,NULL,NULL,0);    if(!hInternet1) {InternetCloseHandle(hInternet1);return;}    HINTERNET hInternet2=InternetOpenUrl(hInternet1,"http://www.baidu.com",NULL,0,INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_PRAGMA_NOCACHE,0);    if(!hInternet2) {InternetCloseHandle(hInternet2);return;}    if( (fp=fopen("F:\\x.txt","wb"))==NULL )    {        MessageBox("cannot open the file");        InternetCloseHandle(hInternet1);InternetCloseHandle(hInternet2);return;    }    while(dwBytesRead)    {        if( !InternetReadFile(hInternet2,buf,sizeof(buf),&dwBytesRead) )        {            CString cs; cs.Format("InternetReadFile error:%d",GetLastError()); MessageBox(cs);            InternetCloseHandle(hInternet1);InternetCloseHandle(hInternet2);return;        }        fwrite(buf,dwBytesRead,1,fp);    }    fclose(fp);    InternetCloseHandle(hInternet1);InternetCloseHandle(hInternet2);


[解决办法]
C/C++ code
#include <iostream.h>#include <string.h>#include <afx.h>#include <afxinet.h>int main() {    CInternetSession sess(_TEXT(""));    CHttpFile* file = (CHttpFile*)sess.OpenURL(_TEXT("http://www.baidu.com"));     CString str;    while (file->ReadString(str)) {                cout << str.GetBuffer(0) << endl;    }    file->Close();    cin.get();    return 0;} 

热点排行