さて、私は自分の小さなゲーム エンジンに取り組み続けて、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++でどのようにすればよいでしょうか。各要素を 1 つずつ読み取り、それらを構造体にコピーすることを回避したいと思っていました。
これについて私が見つけた唯一の実際のチュートリアルはこれです: http://www.gamedev.net/community/forums/topic.asp?topic_id=310409&whichpage=1婐
私は大げさな推測をして、これを C++ 構造に読み込むことは実際には不可能だと言いますか?