4

次のようなchar配列のようなバッファがあります。

char buf[4];
buf[0] = 0x82;
buf[1] = 0x7e;
buf[2] = 0x01;
buf[3] = 0x00;

char 2 と 3 を一緒にビッグ エンディアンの 16 ビット符号なし整数として読み取りたいと思います。C(++) 標準ツールでこれを行うにはどうすればよいですか?

現在、私は手動の解決策しか知りません:

int length = but[3];
length += but[2] << 8;

これは 16 ビット整数の場合は簡単ですが、32 ビット整数も解析する必要があるため、少し難しくなります。それで、私のためにこれを行う標準ライブラリの関数はありますか?

ボードー

4

3 に答える 3

-2

あとい。おそらく最も簡単な修正です。

int iResult = atoi(buf);
于 2013-04-13T15:40:56.953 に答える