//发送数据
CString strpath="文本文件(*.txt)|*.txt||";
CFileDialog filed(true,NULL,NULL,OFN_HIDEREADONLY,strpath,NULL);
filed.m_ofn.lpstrTitle="打开将要发送的文件";
if(filed.DoModal()!=IDOK)
return;
POSITION pt=filed.GetStartPosition();
CString path=filed.GetNextPathName(pt);
CFile file;
file.Open(path,CFile::modeRead|CFile::typeBinary ); //创建文件读取对象
file.Seek(0,CFile::begin); //从文件结尾处移动文件指针
int nSize=0;
int nRead=0;
int nSend;
char sBuf[2048]={0};
while(1)
{
nRead=file.Read(sBuf,2048);
if(nRead<=0)
break;
nSize+=nRead;
nSend=send(s,sBuf,nRead,0);
if(nSend!=nRead && nRead>0)
file.Seek(nSize-nRead+nSend,CFile::begin);
}
file.Close();
//接收数据
CString strpath="文本文件(*.txt)|*.txt||";
CString num1="";
CFileDialog filed(false,NULL,NULL,OFN_HIDEREADONLY,strpath,NULL);
filed.m_ofn.lpstrTitle="选择接收文件所保存的位置";
if(filed.DoModal()==IDOK)
{
POSITION pt=filed.GetStartPosition();
CString path=filed.GetNextPathName(pt);
CFile file;
file.Open(path,CFile::modeCreate|CFile::modeWrite|CFile::typeBinary);//创建文件对象
file.Seek(0,CFile::begin); //从文件结尾处移动文件指针
UINT nData=0;
UINT nSize=0;
char rBuf[2048]={0};
while(1)
{
nData=recv(s1,rBuf,2048,0);
if(nData==0 || nData>2048 || (-1 == nData &&GetLastError() != WSAEWOULDBLOCK))
break;
file.Write(rBuf,nData);
file.Flush();
nSize+=nData;
}
file.Close();
大神们,帮我看看是什么问题啊?