2013-05-16 36 views
3
我使用阿達首次

添加文本,並有一個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,

我該如何正確追加到文件末尾這個文本,我似乎可以找到這個函數,而這是我唯一的方法能想到的

+0

+1仍然使用ada – stdcall

回答

7

代替append_file嘗試out_file的:Open (File => out_parcial_variante1, Name => "c.txt", Mode => Append_File);

1

只是爲了闡述接受的答案:「out_file」模式創造了一個全新的文件寫入(消滅任何文件已經存在)。類似地,模式「out」的參數沒有定義的初始值(即使您提供的實際參數可能已被初始化爲某個值),並且不應在初始化之前讀取。在Ada中,「out」和「in」是指他們所說的。 :-)

+0

有時我希望他們將Append_File命名爲「In_Out_File」,以便與上述參數一致。 :-) –

+1

Text_IO.Append_File不允許你回到文件中。 Direct_IO具有模式[Inout_File](http://www.ada-auth.org/standards/12rm/html/RM-A-8-4.html#p4)。 –