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