1

の関数を使用して、データを書き込むファイルがありますcstdio。ファイルが中断することなくファイルに正常に書き込まれたことを確認したいので、後でファイルから読み取るときにファイルから何を期待するかを知っています。私がそれを行う方法は、最初に 8 バイト相当のゼロ化されたデータをファイルの先頭に書き込み、通常どおりファイルを書き込み、次に最後のステップとして、ファイルを巻き戻し、最初の 8 バイトを次のように上書きすることです。ファイルが完成し、整形式であることを示す特定の署名。

私の質問は、最初の 8 バイトを適切に編集する最良の方法は何ですか?

ではfopen()、使用する適切な開始モード (2 番目の引数) は何ですか?

rewind()最初だけ使っても大丈夫fwrite()ですか、それとも上書きする行為に特別な機能がありますか?

4

1 に答える 1

1

WhozCraigは正しいです。使用wb+はそのままで全く問題ありませんrewind

ファイルのロックも確認できます。これにより、次のことが保証されます。

  • 排他ロックを保持している間は、誰もファイルを読み書きできません
  • 共有ロックを保持している間は、誰もファイルを書き込むことはできません
于 2013-08-21T11:12:05.740 に答える