Die Windows-API-Funktion CopyFile
hat ein Argument BOOL bFailIfExists
, mit dem Sie steuern können, ob Sie die Zieldatei überschreiben möchten oder nicht, wenn sie existiert. Die boost::filesystem
copy_file
-Funktion hat kein solches Argument und schlägt fehl, wenn die Zieldatei existiert. Gibt es eine elegante Möglichkeit, die Funktion boost copy_file zu verwenden und die Zieldatei zu überschreiben? Oder ist es besser, einfach die Windows-API zu verwenden? Meine aktuelle Zielplattform ist Windows, aber ich bevorzuge die Verwendung von STL und Boost, wo immer möglich, um meine Code-Plattform unabhängig zu halten.boost :: filesystem copy_file mit überschreiben
Vielen Dank.
Danke anno. Ich war mir dessen nicht bewusst. Es scheint, dass diese Option irgendwann zwischen Version 1.35 hinzugefügt wurde, die ich verwendete, als ich die Frage stellte, und Version 1.41, die ich jetzt benutze. Ich kann die Änderung in der Änderungshistorie der Bibliothek nicht finden. Aber wie auch immer, Problem gelöst. Ich bin mir nicht sicher, ob ich deine Antwort jetzt akzeptieren sollte, vielleicht werde ich auf Meta fragen. –
Vorsicht: Es scheint ein Problem mit diesem dritten Argument in der POSIX-Implementierung zu geben. Siehe Antwort von Vitaly. –
@DanivanderMeer zum Vorteil der Besucher dieser Seite, [dieser Fehler wurde vor Jahren behoben] (https://svn.boost.org/trac/boost/ticket/4930). –