boost copy_file имеет непоследовательное поведение при использовании overwrite_if_exists

У меня возникли проблемы с методом boost copy_file (версия 1.40.0), я хотел бы полностью перезаписать файл назначения, но в конечном итоге он объединяет исходный файл и файл назначения, если в текстовом файле назначения больше строк.

copy_file (источник, место назначения, перезапись_если_существует)

Я бы предположил, что это работает совершенно по-другому, после этой операции я ожидаю, что источник и место назначения будут точно такими же.

Так ли должен работать этот метод?

Да, я могу переименовать файл назначения, скопировать исходный путь в путь назначения, и если все пойдет хорошо, я могу удалить файл назначения, но меня шокирует, что в boost нет атомарного способа сделать это.


person erin c    schedule 31.01.2013    source источник


Ответы (1)


Согласно ответу в как выполнить boost::filesystem copy_file с перезаписью , это ошибка буста, она исправлена ​​в версии 1.46.0

person erin c    schedule 31.01.2013