1

私はそのような構造を持っています

typedef struct {
int32_t  DataLen;
char     Data[1];
} MTEMSG;

そのため、特定の規則によってデコードする必要があるシンボルがData含まれています。etcメソッドDataLenを書くべきです。ReadInt ReadString

最初のステップとして、書きたいと思いますReadInt。ドキュメントによると、これは「x86 CPU のフォーマットで 4 バイト (リトル エンディアン バイトが最初に来る)」です。char[1]に変換するにはどうすればよいintですか? 私はそれが次のようなものであるべきだと思います:

MTEMSG* data;
int offset;
....
int Reader::ReadInt()
{
int result = // read 4 bytes starting from offset
offset += 4;
}

boostとの使用が許可されていますc++11。シンプルで高速な変換方法を探しているだけです。

変換方法を教えていただければint、残りの方法の多くを自分で実行できることを願っています。

4

2 に答える 2