MFC中,将传过来的文件保存到相应的路径下,怎么实现?

来源:百度知道 编辑:UC知道 时间:2024/06/01 18:20:51
我在做一个类飞鸽的文件传输软件,当文件传过来的时候,我想让它存到到我指定的路径下面,接收文件部分的代码是:
void CXianshiDlg::OnButton2() //接收按钮
{
// TODO: Add your control notification handler code here
AfxSocketInit(NULL);
CSocket sockClient;
sockClient.Create();
CString szIP;
szIP=m_ListView.GetItemText(0,0); //在此处将获得的IP传给szIP
AfxMessageBox(szIP);
if(!sockClient.Connect((LPCTSTR)szIP, 800))
{
AfxMessageBox("真是遗憾!没有人给你发送文件");
return;
}
SOCKET_STREAM_FILE_INFO StreamFileInfo;
sockClient.Receive(&StreamFileInfo,sizeof(SOCKET_STREAM_FILE_INFO));
CFile destFile(StreamFileInfo.szFileTitle, CFile::modeCreate | CFile::modeWrite | CFile::typeBinary);

UINT dwRead = 0;
while(dwRead<StreamFileInfo.nFileSizeLow)
{
byte* data = new byte[1024];
memset(data,0,1024);

UINT dw=sockClient.Receive(data, 1024);
destFile.Write(data, dw);

dwRead+=dw;
}
<

SOCKET_STREAM_FILE_INFO StreamFileInfo;
sockClient.Receive(&StreamFileInfo,sizeof(SOCKET_STREAM_FILE_INFO));
//添加以下代码
CString strTemp;
strTemp.ForMat("C:\\%s",StreamFileInfo.szFileTitle);
CFile destFile(strTemp, CFile::modeCreate | CFile::modeWrite | CFile::typeBinary);
//可以试一下

CFile destFile(StreamFileInfo.szFileTitle, CFile::modeCreate | CFile::modeWrite | CFile::typeBinary);
修改StreamFileInfo.szFileTitle到指定的路径下就行了,如:
CFile destFile("C:\1.txt", CFile::modeCreate | CFile::modeWrite | CFile::typeBinary);

使用CFileDialog类