关于移动文件的问题,请高手指点
在VC6+win2K中,我想把当前目录中的st2000.zip移动到当前目录下子目录abner中去,
用以下代码,为何不工作,MoveFile返回的是0?请高手指点。
CString abnerFileName="st2000.zip";
CFileFind finder;
Bool hasFile=finder.FindFile(abnerFileName);
//如果找到此文件则移动
if(hasFile)
{
  CString newFile="\\abner\\";  //当前目录下的abner子目录。
  newFile=newFile+abnerFileName;
  if(!(MoveFile(abnerFileName[j],newFile)))
  {
    MessageBox("移动文件"+abnerFileName+"出错!");//此句总是运行。为什么?
  }
}

解决方案 »

  1.   

    怎么MoveFile中的第一个参数是数组的形式啊,就直接用那个字符串不就行了吗。你把后面的[j]去掉看看
      

  2.   

    写错了,应该是:
    if(!(MoveFile(abnerFileName,newFile)))
    请指点。
      

  3.   

    有没有高手啊?让我如何结贴啊?
    另一个问题:
    在VC中用CStdioFile读写文件时用
    file.writeString("this is a new line\r\n");写入一行后,文件用记事本打开为何在第二行前面有一个黑色方块?
    如何实现真正的换行啊?
      

  4.   

    说一个不相关的观点:windows api 中大多数是返回的 BOOL(int) 型结果。但不是只有 TRUE(1), FALSE(0) 两个宏值,多数说明中有正确返回非零,错误返回零。也就是说你直接用 ! 取反是不行的。把函数放在条件的地方的时侯最好不要取反。