3

私は初めてAdaを使用しており、次の内容が書かれたtxtファイルを持っています

      23.000000#:599.659058,-67.651642

アーカイブの改行にRを追加したいので、このように終わります

      23.000000#:599.659058,-67.651642
      R,

そのために、次のコードを使用しています

  Open (File => out_parcial_variante1, Name => "c.txt", Mode => out_file);
    new_line(out_parcial_variante1);
    put(File => out_parcial_variante1, Item=> "R,");
  close(out_parcial_variante1);

ただし、これを行うと、アーカイブ内の以前に書き込まれたデータがすべて削除され、新しい行と唯一の R だけが残ります。

このテキストをファイルの最後に正確に追加するにはどうすればよいですか。関数を見つけることができます。これが私が考えることができる唯一の方法です

4

2 に答える 2

7

out_file の代わりに append_file を試してください:Open (File => out_parcial_variante1, Name => "c.txt", Mode => Append_File);

于 2013-05-16T17:47:14.203 に答える
1

受け入れられた答えを詳しく説明すると、「out_file」モードは、書き込み先の新しいファイルを作成します(既存のファイルを一掃します)。同様に、モード "out" のパラメータには定義された初期値がなく (指定した実際のパラメータが何かに初期化されている場合でも)、初期化する前に読み取るべきではありません。Ada では、"out" と "in" は、彼らが言うことを意味します。:-)

于 2013-05-17T12:55:23.950 に答える