C関数に次のコードスニペットがあります
int i;
for (i = bytes; i>0; --i) {
printf("byte: %d", data & 0xff);
data>>= 8;
}
指定されたデータをビッグ エンディアンの方法でバイトに分割します (bytes
は のバイト数data
)。データ自体は、int または 100 バイト長の文字列など、何でもかまいません。ただし、data
でない場合int
、コードは機能しません ( invalid operands to binary X
)。
たとえば、次の数値を取得すると予想されるdata
コンテンツを含む文字列であると仮定します。hello world
byte: 104
byte: 101
byte: 108
byte: 108
byte: 111
byte: 32
byte: 119
byte: 111
byte: 114
byte: 108
byte: 100
標準ライブラリ以外に追加のライブラリを使用せずに、純粋な C で wotk するための簡単なソリューションが必要です。