2011-01-04 20 views
1

を使用してテキストファイルの特定の行に文字列を挿入すると、私は次のデータのテキストファイル目的のC

ユーザー名

ユーザーID

詳細

を考えてみましょう

「User ID」と「Details」の間に「User screenname」という行を挿入したいとします。 どうすればよいですか? 特定の行に文字列を挿入することはできますか? これらはさまざまなユーザーのために可変長の文字列長を持っているので、私はseekToFileOffsetを使用してファイルを更新できないと思います。 私を助けてください。これを行うには

おかげ

答えて

5

唯一の方法は、ファイルをメモリに読み込まれたデータの内部表現を変更し、それを書き戻すことです。

このプロセスにはいくつかのバリエーションがありますが、ファイルは実際の紙とインクの書類のようなものではありません。ファイルの途中にコンテンツを挿入することはできません。すでに存在するものだけを置き換えることはできません。

編集:明確にするために、最後にファイルを拡張することができます。途中ではありません。

+0

ファイルは実際の紙とインクのようです。 – flopr

+0

@flopr誰が知っていましたか?実際には真実はまったく単純ではなく、ファイルシステム、疎なファイル、正確なブロックアライメントをハッキングすることによって、おそらくファイルの途中にデータを挿入できますが、率直に言って、私はそれをお勧めしません。 –

+1

@floprああ、私は誤解しています。この場合の紙とインクとの違いは、何文字か書かれた複数の書類がある場合は、中央にシートを挿入したり、シートを取り除いたりすることができます。 (アスタリスク)はコンピュータファイル(通常の状態のほとんどのファイルシステム)ではできません。 –