Funkcja API Windows CopyFile
ma argument BOOL bFailIfExists
, który pozwala kontrolować, czy plik docelowy ma zostać zastąpiony, jeśli istnieje.sposób wykonywania boost :: system plików copy_file z nadpisaniem
Funkcja nie ma takiego argumentu i zakończy się niepowodzeniem, jeśli plik docelowy istnieje. Czy istnieje elegancki sposób użycia funkcji boost copy_file i zastąpienia pliku docelowego? A może lepiej skorzystać z interfejsu API systemu Windows? Moja obecna platforma docelowa to Windows, ale wolę używać STL i tam, gdzie to możliwe, zwiększać niezależność platformy kodu.
Dziękuję.
Dzięki anno. Nie wiedziałem o tym. Wydaje się, że ta opcja została dodana kiedyś między wersją 1.35, której używałem, gdy zadałem pytanie, a wersją 1.41, której teraz używam. Nie mogę znaleźć zmiany w historii zmian w bibliotece. W każdym razie problem rozwiązany. Nie jestem pewien, czy powinienem teraz zaakceptować twoją odpowiedź, może zapytam na meta. –
Uwaga: wydaje się, że istnieje problem z tym trzecim argumentem w implementacji POSIX. Zobacz odpowiedź od Witalija. –
@DanivanderMeer na rzecz odwiedzających tę stronę, [błąd został naprawiony wiele lat temu] (https://svn.boost.org/trac/boost/ticket/4930). –