VS2010 C++ FTP 客户端 下载 终止

void Cftp_clientDlg::OnBnClickeddownload()
{
if(!Pasv_mode())
{
return;
}
int index = m_list.GetCurSel();
CString filename = "";
m_list.GetText(index,filename);

char send_msg[100] = "RETR ";
char name[100] = "";
strcpy(name,filename);
strcat(send_msg,name);
strcat(send_msg,"\r\n");
send(sock_client,send_msg,strlen(send_msg),0);
MySockRecv();               //接收服务器返回信息的函数
fileStore(filename);
MySockRecv();
AfxMessageBox(_T("文件已下载!"));

}

void Cftp_clientDlg::fileStore(CString filename)
{
CFileDialog save_dlg(false,NULL,filename);
if(save_dlg.DoModal() == IDOK)
{
CString full_name = save_dlg.GetPathName();
char fileContext[1024] = "";
FILE* bin = fopen(full_name,"wb");
if(bin = NULL)
{
AfxMessageBox(_T("文件打开失败!"));
return;
}
while(0 != recv(sock_temp,fileContext,1024,0))
{
fwrite(fileContext,1,1024,bin);
memset(fileContext,0,1024);
}
/*fclose(bin);*/
closesocket(sock_temp);
}

图片说明

if(bin = NULL)

应为:

 if(bin == NULL)

楼上的也是对的,看BUG好像是文件写入的时候出BUG了