2010-09-01 88 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格式存储变量数据。