2010-09-01 85 views
0

我有一個場景,我在運行時給出數據記錄。記錄的單元格的數據類型是可變的,只有在運行時才知道。我將如何存儲這些記錄?在運行時創建數據類型

對於例如

在運行時,我得到record_Info = 「炭[]」, 「INT16」, 「INT32」 然後我得到的記錄= 「ABC」, 「2」, 「30」, 「DEF」 「3」「40」

當我不能初始化它們的類型時,我該如何存儲這些?

+0

需要更多的細節:record_info和記錄的類型(例如結構,字符串列表,字符串矢量,只是一個大字符串等)。 record_info只保存POD類型嗎?如果它可以容納任何其他類型,你是否提前知道它們? – celavek 2010-09-01 08:40:40

+0

這可能不是這類問題的好語言。也許嘗試Perl。 – 2010-09-01 09:37:00

回答

0

假設你想將它們存儲在一個文件中。將類型信息存儲在文件的開頭(比如標題)。 只有一組預定義的類型。使用可用的類型信息,可以使用轉換器函數將數據轉換爲相應的類型,並將它們作爲二進制數據存儲在文件中。 如果你有一些變量數據的上限(char []),那麼最好在文件中存儲固定的數據記錄。訪問和修改會更容易。

如果變量數據沒有上限,則需要以TLV格式存儲變量數據。