質問: seekp値を使用しない書き込み関数 私はC + +を使用してファイルの特定の場所にエントリを書き込もうとしています とても基本的に私は持っている ``` ofstream ofs("file.dat", ios::binary | ios::app); ofs.seekp(220, ios::beg); ofs.write((char *)&i, sizeof(i)); ``` しかし、私が何をするにせよ、それは常にファイルの最後に書いてください。 これは、 `iso :: app` に関連していると思います ``` app (append) Set the stream's position indicator to the end of the stream before each output operation ``` しかし、私が**食べ物**を使用するか、何も使用しないと、常にファイルの内容が消去されます。 どのような助けが素晴らしいだろう:)
回答: `iOS :: app` の代わりに `iOS :: out` を使用してみましたか? **EDIT:** @curiousguyが参照しているドキュメントを読んだら、 `iOS :: in | `iOS :: out` の代わりに、切り詰めることを避けるために、ios :: out`