标签: c++ windows
我有两个文件:A和B.我需要用A替换B,而在另一个程序中打开B.
以下方法:
MoveFile将B重命名为C,然后将A重命名为B,然后删除C
MoveFile
工作正常。但是我需要一种原子方法来做到这一点,因为如果一次重命名失败,数据将保持不一致状态。
我尝试使用MoveFileEx标记MOVEFILE_REPLACE_EXISTING,但是当另一个程序打开文件B时,它不起作用。 ReplaceFile函数相同。还有其他想法吗?谢谢
MoveFileEx
MOVEFILE_REPLACE_EXISTING
ReplaceFile