改成这样就行了。
TRY
{
CInternetSession session;
CHttpFile* pInternetFile=(CHttpFile*)session.OpenURL("http://www.elong.com");
do{
pInternetFile->QueryInfoStatusCode(ret);
}while(ret != HTTP_STATUS_OK);
DWORD dwFileLength=pInternetFile->GetLength();
buf = new char[dwFileLength];
pInternetFile->Read(buf,dwFileLength);
pInternetFile->Close();
session.Close();
}
TRY
{
CInternetSession session;
CHttpFile* pInternetFile=(CHttpFile*)session.OpenURL("http://www.elong.com");
do{
pInternetFile->QueryInfoStatusCode(ret);
}while(ret != HTTP_STATUS_OK);
DWORD dwFileLength=pInternetFile->GetLength();
buf = new char[dwFileLength];
pInternetFile->Read(buf,dwFileLength);
pInternetFile->Close();
session.Close();
}
解决方案 »
- 关于OCX签名,认证以及购买安全证书的问题!
- 大家来帮忙解决,急
- C/S由局域网内扩展到局域网之间使用!
- 怪问题,在VC中文件丢失
- 哪位大侠帮我写个Makefile,工程结构如下,谢谢了。
- LockWorkStation()
- PCTSTR类型要包含哪个头文件?(无内容)
- 快来帮忙!HID.DLL是干什么用的?
- ocx在js中调用的重大问题
- 用CButton构造一个按扭,作为CView的ChildWindow,如何使点击CButton的消息直接传到CView呢?
- CListBox中的一项怎么显示为多行?
- +++++++++学习VC,就一定要学好C++吗?请大虾推荐一二本 Visual C++的入门好书。++++++++++++
原来OpenURL()不是阻塞函数呀!
char buf[16];
DWORD size, len = 16;
BOOL b = pInternetFile->QueryInfo(HTTP_QUERY_CONTENT_LENGTH, buf, &len, NULL);
if(b)
size = len+1;
这回得到的是文件的实际长度。