CHttpFile 的GetFileName的问题!不能取到文件名。

babam 2004-07-08 10:40:36
//我的代码
CString urlstr;
m_input.GetWindowText(urlstr);
unsigned char myData[10000];
CInternetSession mySession(NULL,0);
CHttpFile* myHttpFile=NULL;

try
{
myHttpFile=(CHttpFile*)mySession.OpenURL(urlstr,1,INTERNET_FLAG_TRANSFER_BINARY);
}
catch(CInternetException *e)
{
AfxMessageBox("不能打开指定网页");
mySession.Close();
return ;
}

unsigned long code;
myHttpFile->QueryInfoStatusCode(code);
CString title;
CString name;
name = myHttpFile->GetFileName();
...全文
132 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
PiggyXP 2004-07-08
  • 打赏
  • 举报
回复
楼主可以先试一下我的

看看是否有结果,以确定不是你系统的问题^_^
PiggyXP 2004-07-08
  • 打赏
  • 举报
回复
你上次问我的时候我就觉得很奇怪

这段代码我也亲自调了一下,没有任何问题的啊

比如输入 http://www.163.com/123.exe

就能返回 123.exe的

我调试的代码是这样的:

CString sFileName;
CInternetSession iSession;

CStdioFile* pFileDown = iSession.OpenURL(szURL, 1,
INTERNET_FLAG_TRANSFER_BINARY);

CHttpFile* pHttpFile = (CHttpFile *)pFileDown;

pHttpFile->GetFileName(); // 这里可以正确获得文件名的

iSession.Close();
sohou 2004-07-08
  • 打赏
  • 举报
回复
老大回答了,我们就不说了,哈哈!!!
babam 2004-07-08
  • 打赏
  • 举报
回复
那我要知道这个网页在是叫什么名字呢??
zhucde 2004-07-08
  • 打赏
  • 举报
回复
GetFileName();要求是一个确实存在的文件名.
例:

CFileFind finder;
static const TCHAR szFileToFind[] = _T("C:\\WINDOWS\\SYSTEM.INI");

BOOL bResult = finder.FindFile(szFileToFind);

if (bResult)
{
finder.FindNextFile();


cout << "Name of " << szFileToFind;
cout << " is " << (LPCTSTR) finder.GetFileName();
cout << endl;

finder.Close();
}
babam 2004-07-08
  • 打赏
  • 举报
回复
你输入http://www.sina.com试试看
PiggyXP 2004-07-08
  • 打赏
  • 举报
回复
行啊

我输入 http://news.sina.com.cn/123.exe

就能解析出 123.exe来啊

-_-b
babam 2004-07-08
  • 打赏
  • 举报
回复
url地址如果不是终极页的话就不行
babam 2004-07-08
  • 打赏
  • 举报
回复
你试试http://news.sina.com.cn/看看

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧