本帖最后由 yangxuebb 于 2013-10-23 17:45:22 编辑

解决方案 »

  1.   

    本意是 不是buffer[4096] 而是给定大小的buffer[mySize]
      

  2.   

    在 HANDLE  myTFile = CreateFile 后面,立刻判断句柄是否有效,如果无效则用 GetLastError() 来获得错误原因还有一点小细节应该要注意一下,在访问权限设置那里,如果你确定这个文件只是用来读而不写的话
    就只用 GENERIC_READ 就行了,不要和 GENERIC_WRITE 混用,那么后面的供享模式就只能用 FILE_SHARE_READ,不要和 FILE_SHARE_WRITE 混用,否则如果这个文件在其它地方被打开并修改后,那你读出来的数据就不准确了还有你这样读写文件的代码的主要功能其实就是一个复制文件吧,那么你为什么不直接调用 CopyFile 呢?
    一句代码能搞定的事情还得写那么多代码,除非你要在复制的过程中修改某些数据
      

  3.   

    我的文件长度大于4m。 
    我原意是把文件读到内存中,所以这里想用buffer存起来,copyfile不是需要的啊。
    刚试了下是因为文件长度的问题。谢谢