Скопируйте один большой файл (> 100 МБ), используя инструкцию CreateFile () - PullRequest
0 голосов
/ 30 июня 2010

Я хочу скопировать один файл, достаточно большой (+ 100 МБ), используя CreateFile (), ReadFile () и WriteFile ().

Моя программа успешно скопировала текстовый файл и другой небольшой файл (в диапазоне килобайт), но когда мне захотелось скопировать 160 отдельных .EXE-файлов, произошел сбой, и отладчик сказал «переполнение стека»

Ответы [ 2 ]

5 голосов
/ 30 июня 2010

Не читайте весь файл сразу, вместо этого читайте его небольшими кусками (до нескольких мегабайт).

В Windows есть несколько функций копирования файлов, которые уже достаточно гибки, например, CopyFileEx, поэтому рассмотрите возможность использования одной из этих функций.

0 голосов
/ 30 июня 2010

Чем проще, тем лучше: int rc = system ("copy foo.bin bar.bin");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...