下载文件时写文件的问题....

kghost 2005-04-27 10:01:03
我所下载的文件是 .exe 的可执行文件...用fopen, fwrite, fclose 写入文件时总是有问题...

但用不着 CFile 却没有问题....请问 用 fopen, fwrite, fclose 写文件时应该怎么写??

int nCompletedSize = 0;
char pData[1024] = "";
int nReceSize = 0;

//FILE *fp=fopen("c:\\a.exe", "w");
CFile DownloadFile;
DownloadFile.Open("c:\\a.exe",CFile::modeCreate | CFile::modeWrite);

printf("正在下载文件, 请等待......\n");

while(nCompletedSize < lFileSize)
{
nReceSize = recv(s, pData, 1024, 0);
if(nReceSize <= 0)
{
if(s != NULL)
{
if(closesocket(s)==SOCKET_ERROR)
{
printf("closesocket()函数执行失败!\n");
return;
}
}
s = NULL;
printf("服务器已经关闭连接.\n");
break;
}
if(nReceSize == -1)
{
printf("接收数据超时.");
break;
}

DownloadFile.Write(pData, nReceSize);
//fwrite(pData, nReceSize, 1024, fp);
nCompletedSize += nReceSize;

}
//fclose(fp);
DownloadFile.Close();
...全文
123 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
VCSQLVB 2005-04-27
  • 打赏
  • 举报
回复
fwrite(pData, nReceSize, 1024, fp);
有问题
Caps77 2005-04-27
  • 打赏
  • 举报
回复
需用二进制方式打开文件
Caps77 2005-04-27
  • 打赏
  • 举报
回复
FILE *fp=fopen("c:\\a.exe", "wb");
kghost 2005-04-27
  • 打赏
  • 举报
回复
顶一下...
nuaawenlin 2005-04-27
  • 打赏
  • 举报
回复
使用二进制方式打开文件
kghost 2005-04-27
  • 打赏
  • 举报
回复
MSDN里都没有详细的参数的...................
lei001 2005-04-27
  • 打赏
  • 举报
回复
看帮助文档呀!
kghost 2005-04-27
  • 打赏
  • 举报
回复
谁有 fopen fwrite fclose 函数的详细参数解释呀....

18,356

社区成员

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

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