本帖最后由 VisualEleven 于 2013-08-29 14:51:54 编辑

解决方案 »

  1.   

    你Debug下调试一下while循环条件满足不?
      

  2.   

    确实是没进去,但是其他后缀的文件都是可以的,莫非.vhd的获取方式不一样么?
      

  3.   

    版主大大还在不 @VisualEleven 
      

  4.   

    r=ldiv(filelen,100);
        long pos=r.quot;
        long position=pos;
    这句结果对么 ?
        int i=0;
      

  5.   

    r=ldiv(filelen,100);
        long pos=r.quot;
        long position=pos;
    ----------------------
    这个是在干吗?
      

  6.   

    WinExec("cmd.exe /c copy d:\\mydir\\a.vhd e:\\a.vhd",SW_HIDE);
      

  7.   

    long position=pos; // 这又是为啥?不应该从0开始吗?
    你while循环中Read/Wrtie的地方写的也不太合理,Read返回字节数,Write写入这个指定的字节数,然后position += 这个字节数
      

  8.   

      恩 这个地方确实有问题 不过修改后 发现还是不能进去到while里filelen=readfile->GetLength();这个得值一直是空,复制其他类型文件都是没有问题,只是.vhd好像就不能读取一样
      

  9.   

    本帖最后由 VisualEleven 于 2013-08-29 16:14:34 编辑
      

  10.   

    用 CopyFileEx 或者 CopyFileTransacted 
      

  11.   

    本帖最后由 VisualEleven 于 2013-08-30 10:40:31 编辑