如何处理包含字符串元素的结构体?
假设某个文件的文件头描述如下:
DataSize:数据大小 DWORD
Name:数据名称,字符串 STRING
Flags:某种标志 WORD
相应的结构声明为:
type FileHeader
DataSize as long
Name(1 to 10) as byte '假设Name的长度固定为10
Flags as integer
end type
用ReadFile可以把上述结构写到文件中。
问题是如果Name的长度可变(以null结束),那么Name应该如何声明?声明成string或者name() as byte都不行,因为这时无法获得结构体真实的大小,而且此时name传入的是一个地址,不是内容。以前遇到这种情况,我只好用字节数组代替结构,程序的可读性太差,用结构体的话,怎么处理这个问题?