2016-09-16 10 views
1

ファイルの途中にテキストを書き込めません。 テキストを追加する場所を正しく見つけることができ、tellg()/tellp()で確認できます。fstream:ファイルの途中に書き込めません

myfstream << "new text" << endl; 

これは、ファイルの最後に追加された:しかしとき、seekp()後、私は新しいテキストを追加します。

私は何をしていますか?

+0

ファイルの途中に挿入することはできません。上書きのみできます。テキストが追加されるのは奇妙ですが、コードを投稿しない限り、それがどうして起こるのかは分かりません。 – molbdnilo

+0

@molbdnilo:挿入したくない、特定のポイントから上書きするだけです。 – Pietro

答えて

0

hereを報告したように、私は追加モードでファイルを開いてから、その後、すべての書き込み操作は()でもseekp後に、追加します。

解決方法は、ファイルをios :: in |で開くことです。 ios :: outモード。

0

申し訳ありません申し訳ありませんが、fstreamを使用してファイルの途中に書き込む方法はありません。 ホールファイルをプログラムにコピーし、テキストを編集してファイルに書き戻す必要があります。

そうしないとのstd :: ostreamにしてラインを上書きすることができ:: seekp()

関連する問題