标签: windows linux macos file filesystems
我得到一个二进制文件(考虑它很大)和几个二进制blob,我应该在文件中间的某处插入/替换(偏移是已知的)。
同一时间用户可以访问该文件,因此我必须“一无所有”,如果用户在我更新所有内容之前打开了该文件的旧版本,或者如果她有新版本,则我成功了。
我对Linux,Windows和OS X的解决方案感兴趣。当然,实现可能会有所不同。
答案 0 :(得分:0)
对于Linux:
fsync()
rename()
这个成语被称为原子重命名。