2

パケットのバイナリ データ (0x123400005678) から解析された 3 つの値を表示する必要があります。

unsigned int k = 0x1234, l=0x0, m=0x5678;

cout を 3 回使うと 4 桁の 16 進数で表示できます。

#include <iostream>
#include <iomanip>
...
cout << "seperated cout" << endl;
cout << hex << setfill ('0') << setw (4) << k;
cout << hex << setfill ('0') << setw (4) << l;
cout << hex << setfill ('0') << setw (4) << m << endl;
....

seperated cout
123400005678

しかし、cout行を1つだけ使用すると、「0x0」の先頭のゼロが省略されます...

#include <iostream>
#include <iomanip>
...
cout << "oneline cout" << endl;
cout << hex << setfill ('0') << setw (4) << k << l << m << endl;
...

oneline cout
123405678

とにかく「123400005678」のように1行で表示する方法はありますか? または、これを行う唯一の方法は cout を 3 回使用することですか?

前もって感謝します。

4

1 に答える 1