我是vc新手,想写一个控制台程序实现文件的拷贝功能,使用COPYFILE函数时发现只能够拷贝较小的文件(小于64k),请问有什么好的方法能够拷贝比较大的文件(上百k)

解决方案 »

  1.   

    很简单的上www.vckbase.com找源代码
      

  2.   

    我在网上看了比较多的例子,比如:CString   file1,file2,buf;  
    file1="c:\\scandir\\2.jpeg";  
    file2="f:\\test\\2.jpeg";  
    CFile   f1,f2;  
    f1.Open(file1,CFile::modeReadWrite);  
    f1.Read(buf.GetBuffer(f1.GetLength()),f1.GetLength());  
    f2.Open(file2,CFile::modeCreate|CFile::modeReadWrite);  
    f2.WriteHuge(buf.GetBuffer(f1.GetLength()),f1.GetLength());  
    这种方式,就不行
      

  3.   

    如果你说的是API函数CopyFile,应该拷贝几百兆、几个G的文件都没有问题。
      

  4.   

    SHFileOperation:使用该方式拷贝文件,应该如何处理?谢谢
      

  5.   

    if(::CopyFile("c:\\scandir\\2.jpeg","f:\\test\\2.jpeg", TRUE)) 
    printf("copy small file succ\n");
    else
    printf("copy small file fail\n");
    直接这种方式好象只能够传送文本小文件,不知道是什么原因?请帮看看,谢谢
      

  6.   

    写 batcopy  a   b
      

  7.   


    To copy security attributes, use the SHFileOperation function。
      

  8.   

    我试了一下,拷贝500mb没有问题。
    别只是问,用GetLastError进一步判断出错原因。
    什么目标目录不存在,目标文件已存在都可能导致失败。