在原子操作中用另一个替换文件(Windows)

时间:2013-05-09 21:30:07

标签: c++ windows

我有两个文件:A和B.我需要用A替换B,而在另一个程序中打开B.

以下方法:

MoveFile将B重命名为C,然后将A重命名为B,然后删除C

工作正常。但是我需要一种原子方法来做到这一点,因为如果一次重命名失败,数据将保持不一致状态。

我尝试使用MoveFileEx标记MOVEFILE_REPLACE_EXISTING,但是当另一个程序打开文件B时,它不起作用。 ReplaceFile函数相同。还有其他想法吗?谢谢

0 个答案:

没有答案