2015-10-03 66 views
0

我該如何閱讀一個看起來像「01/12/1997」的輸入到3個分別爲01,12和1997的整數?ADA:將斜槓輸入轉換爲3個獨立整數

+4

我可能會使用Ada.Strings.Fixed.Index查找分隔符,然後在數字子字符串中使用'value''屬性,但還有很多其他方法。 http://www.cs.uni.edu/~mccormic/063/predefined可能會有所幫助。 –

+0

工作,謝謝! – TheMrMittens

+1

你可以使用[Ada.Text_IO.Integer_IO.Get](http://www.ada-auth.org/standards/12rm/html/RM-A-10-8.html#p15)(這是從字符串版)。 –

回答

1

如果使用GNAT,則可以使用GNAT.String_Split,然後是「值屬性轉換」。

1

以防萬一你的問題是解析日期的中間步驟,你應該看看GNAT.Calendar.Time_IO.Value,它知道解析各種日期格式。

0

我最終增加了3個變量,所有字符串。然後我將它們設置爲Date(1..2)和Month(4..5)和Year(7..10),然後將它們全部轉換爲整數並繼續我的程序。不是最好的方式,但它的工作。

+0

問題在於它太容易受到影響,要麼是1997年1月12日,要麼是1997年1月12日不合時宜的不合理行爲。採用這種方法,您需要其他方法來保證正確的字符串格式 - 更多的編程。如果你確實在轉換日期,manuBriot的建議是最好的;使用提供的工具。 –

相關問題