私はそのような構造を持っています
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
、残りの方法の多くを自分で実行できることを願っています。