-1

これは私の最初の投稿です。特定のテキスト ファイルがあるファイル処理を使用して C++ でプログラムを作成しており、ポインターがある特定のポイントを超えてファイル内のすべてを削除したいと考えています。その後、ポインターは以前と同じ場所に戻る必要があります。

誰かが私を助けることができれば、私は非常に義務付けられます. 私は長い間プログラミングをしていません。

具体的には、私のプログラムでは、

...

オフストリーム リスト;

List.open("List.txt");

...

List.seekp(i);

この時点で、ファイル内の i バイト目以降をすべて削除し、それ以降の書き込みが i 番目の場所から行われるようにします。それ、どうやったら出来るの?

ありがとう。

4

1 に答える 1

1

通常、テキスト ファイルの処理では、オリジナルからの読み取りとtempへの書き込みの 2 つのファイルを使用します。次にtempを閉じ、オリジナルのリンクを解除し、 tempの名前をoriginalに変更します。このようにする理由の 1 つは、途中でクラッシュが発生した場合にすべてを失うことがないようにするためです。2 番目の理由は、別のファイルシステムで使用しようとすると、トリッキーなことをしようとしてもうまくいかない可能性があることです。

于 2012-05-26T20:06:36.973 に答える