下载文件时写文件的问题....
我所下载的文件是 .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();