2012-03-28 53 views
2

只是把一些代碼的一部分在這兒,我寫兩個數值加以文本文件。阿達:由製表符分隔的文件中寫入輸出數字

Ada.Long_Float_Text_IO.Put (File => Output_File, Item => Out_2, Fore => 1, Aft => 4, Exp => 0); 
Ada.Text_IO.Put (Output_File, " "); 
Ada.Long_Float_Text_IO.Put (File => Output_File, Item => Out_3, Fore => 1, Aft => 4, Exp => 0); 

我可以由空間如圖中代碼分開這些數字Out_2Out_3。結果給出(兩列中寫入更多的數字後):

-75.2340 421.5700 
1256.0000 15.4700 
-4568.9800 -118.2800 
3784.2100 0.0000 

我想知道是否有指定標籤間距,這樣我可以有這樣的事情在我文本的方式 file:

-75.2340  421.5700 
1256.0000 15.4700 
-4568.9800 -118.2800 
3784.2100 0.0000 

那麼哪個控制字符產生上述對齊?

非常感謝......

回答

3

對於一個選項卡,還有的過時ASCII.HTAda.Characters.Latin_1.HT

或者你可以使用Width參數Ada.Long_Float_Text_IO.Put和朋友。

編輯:沒有Width參數實時輸出!你可以使用一個大的Fore,這將有效地對輸出結果進行正確對比。

+0

@ Simon Wright是* width *僅適用於整數和枚舉類型。 – yCalleecharan 2012-03-29 07:55:24

+0

@ Simon Wright您使用'width'的解決方案似乎更好,因爲我們可以使用小數位來對齊*。 – yCalleecharan 2012-03-29 09:40:24

2

而不是介入的:

Ada.Text_IO.Put (Output_File, " "); 

調用Set_Col程序來代替,該移動輸出線位置到指定列。例如。

Ada.Text_IO.Set_Col(Output_File, 13); 
+0

@ Marc C謝謝。我只需要爲列號找到一個方便的值。 1投票。 – yCalleecharan 2012-03-28 20:19:30

相關問題