Win32-API zum umbenennen einer Datei in C

Wenn das Quellverzeichnis und das Zielverzeichnis, MoveFile würde tatsächlich eine Kopie der Quelldatei in die Zieldatei, was bedeutet, dass ich am Ende sehen Sie zwei Dateien.

Ist, dass der beste Weg, den umbenennen kann erreicht werden?

  • umbenennen in stdio.h?
  • Was genau meinst du? MoveFileEx mit MOVEFILE_COPY_ALLOWED wird nicht geben Sie zwei Dateien - ruft CopyFile dann DeleteFile, wenn die beiden Dateien sind auf unterschiedlichen volumes.
  • Ich glaube, ich habe gesehen, Fälle, in denen MoveFile() tun CopyFile() + DeleteFile(), aber die Quelldatei ist immer noch gesperrt, von jemandem also, es ist status Löschen Anstehend; dann, wenn es freigeschaltet ist es auf Magische Weise verschwindet. Oder vielleicht bin ich erfunden; kann mich nicht erinnern.
  • Wenn das Programm abstürzt oder Stromausfall, nicht-Atomare Bewegt (AKA kopieren-löschen) können in Widerspruch.
InformationsquelleAutor tom | 2010-12-22
Schreibe einen Kommentar