std :: filesystem :: copy выдает ошибку filesystem_error - PullRequest
0 голосов
/ 11 июля 2020

Попытка запустить этот код:

filesystem::copy_options copyOptions = filesystem::copy_options::skip_existing | filesystem::copy_options::recursive | filesystem::copy_options::directories_only;
filesystem::copy(pathA, pathB, copyOptions);

Первая попытка успешна и работает точно так, как я хочу и ожидаю ... Вторая попытка (после создания структуры pathB) терпит неудачу с этим error:

filesystem error: cannot copy: File exists 
[C:\Users\Smith\Documents\Projects\ProjectA\bin\..\pathA] 
[C:\Users\Smith\Documents\Projects\ProjectA\bin\..\pathB]

Я ожидаю, что использование skip_existing или overwrite_existing не должно вызывать эту ошибку. Как использовать этот метод копирования, не удаляя путь B каждый раз перед использованием?

Ссылка на cppreference Я смотрю

1 Ответ

0 голосов
/ 11 июля 2020

Вам необходимо использовать флаг std::filesystem::copy_options::overwrite_existing.

Это решит вашу проблему.

...