+ -
当前位置:首页 → 问答吧 → 用MFC的cfile写的代码,在pc机上实现文件的传输

用MFC的cfile写的代码,在pc机上实现文件的传输

时间:2011-12-12

来源:互联网

现在的代码想把桌面的文件放到其他盘,调试总有错误,大家帮着看一下
C/C++ code

char *pBuf;
DWORD dwFileLen;
//FileInfo staff;
void CHanjxDlg::OnOpenFile() 
{
    // TODO: Add your control notification handler code here    
    //filename=openfile.GetFileName();

    CFileDialog fileDlg(TRUE);
    fileDlg.m_ofn.lpstrFilter="Text Files(*.doc)\0*.doc\0*.jpg\0All File(*.*)\0*.*\0\0";
    //fileDlg.m_ofn.lpstrDefExt="doc";
    if (IDOK==fileDlg.DoModal())
    {
        CFile file(fileDlg.GetFileName(),CFile::typeBinary);
        //char *pBuf;
        //DWORD dwFileLen;
        dwFileLen=file.GetLength();
        pBuf=new char[dwFileLen+1];
        pBuf[dwFileLen]=0;
        file.Read(pBuf,dwFileLen);
        file.Close();
        //MessageBox(pBuf);
    }    
}

void CHanjxDlg::OnSend() 
{
    // TODO: Add your control notification handler code here
    CFileDialog fileDlg(FALSE);
    fileDlg.m_ofn.lpstrFilter="Text Files(*.doc)\0*.doc\0All File(*.*)\0*.*\0\0";
    
    if (IDOK==fileDlg.DoModal())
    {
        CFile file(NULL,CFile::modeWrite);
        file.Write(pBuf,dwFileLen);
        file.Close();
        //MessageBox(pBuf);
    }
}

在写入的时候就报错

作者: shixi2012   发布时间: 2011-12-12

1、pBuf和dwFileLen都可以作为CHanjxDlg类的成员变量
2、paste前,先判断有没有copy
3、单步跟踪一下,看copy后和paste之前的buf是否正确

作者: ouyh12345   发布时间: 2011-12-12

file(NULL,CFile::modeWrite); //传NULL是什么意思????

作者: yayafu   发布时间: 2011-12-12