0

したがって、次のようなtxtファイルがあります。

112 12.50 Y 15

267 7.75 N 20

382 15.50 N 45

ユーザーは、新しい ID を挿入する場所にプロンプ​​トが表示されます。私の仕事は、すべての情報を完全に上書きすることなく、プログラムに新しい ID を .txt ファイルに書き込ませることです。ユーザーが 267 の後に新しい ID を挿入したいとします。ユーザーは、新しい ID は 123、12.34、N、12 であると教えてくれます。.txt ファイルは次のようになります。

112 12.50 Y 15

267 7.75 N 20

123 12.34 N12

382 15.50 N 45

4

3 に答える 3

3

標準 C には、ファイル内の特定の場所に新しいデータを挿入する機能はありません。

プレーン C のオプションは次の 2 つだけです。

  1. 一時ファイルを作成し、挿入ポイントまでの古いファイルのデータを一時ファイルにコピーし、新しいデータを一時ファイルに書き込み、古いファイルの残りのデータを一時ファイルにコピーし、一時ファイルの名前を古いファイルの名前に変更します名前。
  2. 挿入する必要がある新しいデータの量を計算し、その量だけ挿入ポイントからすべてのデータを (コピーして) 移動し、新しいデータを挿入ポイントに書き込みます。

ファイル内の任意の場所にデータを挿入するための OS 固有の関数が存在する場合があります。しかし、繰り返しになりますが、C 標準で定義されている標準 C ライブラリにはありません。

于 2013-03-12T07:08:28.640 に答える
2

手順:

  1. 一時ファイルを作成する
  2. ソースファイルから各行を読み取り、一時ファイルに書き込み、進行中に解析します
  3. 次に、新しい行を挿入したいIDの後に新しい行を挿入します
  4. ソースファイルから残りのすべての行を書き込みます
  5. ソースファイルを削除
  6. 一時ファイルの名前をソース ファイルの名前に変更します。
  7. 祝う!
于 2013-03-12T06:59:43.377 に答える
2

古いデータを上書きせずにファイルの途中に情報を追加する必要がある唯一のオプションは、ファイルに追加したい位置に続くすべてのデータを手動で移動することです。

于 2013-03-12T06:57:29.770 に答える