使用手动CreateFile()复制单个大文件(> 100 MB)

时间:2010-06-30 12:15:28

标签: c++ api winapi

我想使用CreateFile(),ReadFile()和WriteFile()复制单个文件,相当大(+ 100MB)。

我的程序成功复制了文本文件和其他小文件(在KB范围内),但是当我想复制160个单个.EXE文件时,它崩溃了,调试器说“堆栈溢出”

2 个答案:

答案 0 :(得分:5)

不要一次读取整个文件,而是以较小的块(最多几兆字节)读取它。

Windows有几个已经非常灵活的文件复制功能,例如CopyFileEx,请考虑使用其中一种功能。

答案 1 :(得分:0)

越简越好:     int rc = system(“copy foo.bin bar.bin”);