1

我有一个要写入数据的文件,使用cstdio. 我想确保文件已成功写入文件而没有任何中断,因此我知道以后从文件中读取文件时会发生什么。我的目标是首先将 8 个字节的清零数据写入文件的最开头,正常写入文件,然后作为最后一步,倒回文件并覆盖前 8 个字节一个特定的签名,表示该文件已完成且格式正确。

我的问题是,编辑前 8 个字节的最佳方法是什么?

使用fopen(), 什么是合适的打开模式(第二个参数)?

rewind()刚开始和使用是否安全fwrite(),或者是否有特殊的覆盖行为的特定功能?

4

1 回答 1

1

WhozCraig 是对的。使用wb+完全没问题rewind

您还可以查看文件锁定,它可以确保:

  • 当您持有排他锁时,没有人可以读/写文件
  • 当您持有共享锁时,没有人可以写入文件
于 2013-08-21T11:12:05.740 回答