好的,所以我将继续在我的小游戏引擎上工作,以教我更多 C#/C++。现在我正在尝试编写一种以我创建的二进制格式存储数据的方法。(这是学习,我想自己从头开始)。我想知道在 C++ 中读取结构中的可变长度数组时,处理它的最佳方法是什么?
例如,这是我目前拥有的结构:
[StructLayout(LayoutKind.Sequential)]
public struct FooBinaryHeader
{
public Int32 m_CheckSumLength;
public byte[] m_Checksum;
public Int32 m_NumberOfRecords;
public FooBinaryRecordHeader[] m_BinaryRecordHeaders;
public FooBinaryRecord[] m_BinaryRecords;
}
[StructLayout(LayoutKind.Sequential)]
public struct FooBinaryRecordHeader
{
public Int32 m_FileNameLength;
public char[] m_FileName;
public Int64 m_Offset;
}
[StructLayout(LayoutKind.Sequential)]
public struct FooBinaryRecord
{
public bool m_IsEncrypted;
public Int64 m_DataSize;
public byte[] m_Data;
}
现在我将如何在 C++ 中实际将其作为 C++ 中的结构读入?我有点希望能够一一阅读每个元素并将它们复制到一个结构中。
我找到的唯一真正的教程是:http ://www.gamedev.net/community/forums/topic.asp?topic_id=310409&whichpage=1婐
我会大胆猜测并说将其读入 C++ 结构是不可能的吗?