-1
unsigned long x
(4バイト)の場合、どのようにしてx
の各バイトを16進数で変換し、すべてを配列に格納できますか? unsigned char[4]
?符号なしlongの各バイトを符号なしchar配列の要素に変換する
溶液1:この場合
unsigned char hex_str[9];
snprintf(hex_str, sizeof(hex_str), "%lX", target_hexstr);
printf("hex_str: %s\n", hex_str);
printf("size: %lu\n", sizeof(hex_str));
for(int x=0; x<sizeof(hex_str); x++)
printf("%x\n", hex_str[x]);
、hex_str
ディスプレイ1400
と9「単位Iは、私はこの二つの溶液を試みたしまっsugestionsその後に基づき
UPDATE
":31,34,30,30,0,0,0,0。24.
解決策2:
hexstr[0] = (x & 0xFF000000) >> 24;
printf("%x\n", x[0]);
hexstr[1] = (hexstr & 0x00FF0000) >> 16;
printf("%x\n", x[1]);
hexstr[2] = (hexstr & 0x0000FF00) >> 8;
printf("%x\n", x[2]);
hexstr[3] = (hexstr & 0x000000FF);
printf("%x\n", x[3]);
printf("hex_str: %s\n", hex_str);
この場合
、hex_str
表示何および4 "単位":0、0、14、0
この2つの溶液を貴様の結果を持って、なぜ?
ouldのインデックスの順序はどのようなものですか?たとえば、この投稿:https://stackoverflow.com/a/30840656/2692962では、注文はあなたのものとは逆のものだと思います。 –
まったく同じで、構文も少し違います。 –
表示されていない箇所にはコードを入力しないでください。 –