使用WinInet实现HTTP下载文件,下载的文件放在内存中,在下载完成后在创建文件,但是在保存EXE文件时出错?

cjyun 2005-09-30 05:31:04
使用WinInet实现HTTP下载文件,下载的文件放在内存中,在下载完成后在创建文件,但是在保存EXE文件时出错?
CFile fileOut;
CFileException ex;
if(fileOut.Open(strFileName,CFile::modeCreate|CFile::modeWrite,&ex))//|CFile::modeReadWrite
{
fileOut.Write(lpBuffer,dwTotalBytes);
fileOut.Close();

}
else
return false;
return true;
保存EXE文件时,保存后的文件成了控制台程序,运行当然也是错误的,但是文件的大小是对的,请帮忙
...全文
264 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
CPP2008 2005-12-23
  • 打赏
  • 举报
回复
对的。大家说的都不错。

我只UP。
datablader 2005-10-14
  • 打赏
  • 举报
回复
楼主下载的时候,要用Binary方式,CFile在写的时候,也要用Binary方式。
hjunxu 2005-10-14
  • 打赏
  • 举报
回复
你用CFile::typeText还是CFile::typeBinary?我遇到过这样的问题,
因为用CFile::typeText写进文件,文件大小对,也可以运行,但是不正确,
最后我用CFile::typeBinary的模式就好了
=======================================
qsc555(石羊山) 说的有道理。
lihua9666 2005-10-14
  • 打赏
  • 举报
回复
如果文件1G,你也放在内存中吗?这种方法不可取
qsc555 2005-10-08
  • 打赏
  • 举报
回复
你用CFile::typeText还是CFile::typeBinary?我遇到过这样的问题,
因为用CFile::typeText写进文件,文件大小对,也可以运行,但是不正确,
最后我用CFile::typeBinary的模式就好了。
lianglp 2005-09-30
  • 打赏
  • 举报
回复
应该是写到内存中时,写就出错了,比较没有控好两次接收的位置等等。
i_noname 2005-09-30
  • 打赏
  • 举报
回复
是否lpBuffer的作用范围问题?
feelmoon 2005-09-30
  • 打赏
  • 举报
回复
楼猪是把所有东西都放在内存里,等下载完了再存吗/你怎么会有这样的想法呢?当然是接受1定字节,一般1K代销,就写到文件中。

18,356

社区成员

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

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