8
在Windows上可以重命名原子文件(带有覆盖)吗?
在POSIX系统上,rename(2)提供了原子重命名操作,包括覆盖目标文件(如果存在)以及是否允许权限。 有没有办法在Windows上获得相同的语义?我知道Vista和Server 2008上的MoveFileTransacted(),但是我需要它来支持Win2k及更高版本。 这里的关键词是原子的……解决方案一定不能以使操作处于不一致状态的任何方式失败。 我见过很多人说这在win32上是不可能的,但是我问你,真的吗? 如果可能,请提供可靠的引用。