C ++ Directory Watching - Как определить, что копирование закончилось

У меня есть папка, в которую копируются файлы. Я хочу посмотреть ее и обработать файлы, как только они будут скопированы в каталог. Я могу определить, когда файл находится в каталоге, либо с помощью опроса (моя текущая реализация), либо с помощью некоторых тестов с использованием Windows API из нескольких образцов, которые я нашел в Интернете.

Проблема в том, что я определяю, когда файл появляется первым. создан и все еще копируется. Это приводит к тому, что моя программа, которой требуется доступ к файлу, из-за ошибок (потому что файл еще не завершен). Как я могу определить не то, когда копирование началось, а когда копирование закончилось? Я использую C ++ в Windows, поэтому ответ может зависеть от платформы, но, если возможно, я бы предпочел, чтобы он не зависел от платформы.

7
задан tshepang 15 September 2014 в 20:27
поделиться