我用getlasterror()捕捉了错误,是123,可是我文件路径和文件夹路径都是存在的,为啥会造成这个原因?我文件路径是J:\ASP\asp+html\0.txt 目的文件夹路径是J:\   为啥还说我路径错误?

解决方案 »

  1.   

    if (!m_newdir.IsEmpty())
    {
    POSITION pos = m_cListShow.GetFirstSelectedItemPosition();  //正常用于操作链表,表示链表的位置
    int currentSelect = m_cListShow.GetNextSelectedItem(pos);  //返回列表视图控件中被选择的下一项的索引值
    //确定不是最后一项
    if (currentSelect >= 0)
    {
    CString FileBuffer;
    FileBuffer = CString(TEXT("确定要移动文件") + m_cListShow.GetItemText(currentSelect,0)+TEXT("到") + m_newdir + TEXT("?"));
    if (AfxMessageBox(FileBuffer,MB_OKCANCEL,0) == IDOK)
    {
    if (!MoveFile(m_cListShow.GetItemText(currentSelect,0),m_newdir))
    {
    CString error;
    error.Format("文件移动错误: %d",GetLastError());
    AfxMessageBox(error);
    }
    else
    {
    AfxMessageBox("文件已经被移动到新路径!");
    this->OnBnClickedHand();
    }
    }
    }
    else
    {
    AfxMessageBox("请先选择一个需要移动的文件!",MB_OK);
    }

    else
    {
    AfxMessageBox("请设置移动后存放的文件夹路径!!");
    }
      

  2.   

    是不是在win7或者vista上出现的?这两个系统记得默认不能在根目录新建文件
      

  3.   

    或者直接这样试试:
    if (!MoveFile(_T("J:\\ASP\\asp+html\\0.txt"),_T("J:\\"))