【发布时间】:2009-09-19 18:06:23
【问题描述】:
好的,所以我将继续在我的小游戏引擎上工作,以教我更多 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++ 结构真的不可能正确吗?
【问题讨论】:
标签: c# c++ binaryfiles