16進文字配列を表示
630 ワード
1.一連の16進数値を文字配列に保存し、16進数で表示します.
出力結果:8 B 22 11 12
2.最初の文が
出力結果はffffff 8 B 22 11 12
分析:
1つのchar変数が保存できる配列範囲は-128から127であり、8 Bは10進数の139であり、1つのcharが保存できる範囲を超えているからである.
使用時
すると、まず整数-117に変換され、-117の16進数が表示されます.そこでffffff 8 Bということになりました.
unsigned char buf[5] ="\x8B\x22\x11\x12"; // \0
CString str;
for(int i=0;i<4;i++){
CString s;
s.Format("%x ",buf[i]);
str += s;
}
AfxMessageBox(str);
出力結果:8 B 22 11 12
2.最初の文が
char buf[5] ="\x8B\x22\x11\x12"; // \0
出力結果はffffff 8 B 22 11 12
分析:
1つのchar変数が保存できる配列範囲は-128から127であり、8 Bは10進数の139であり、1つのcharが保存できる範囲を超えているからである.
使用時
s.Format("%x ",buf[0]);
すると、まず整数-117に変換され、-117の16進数が表示されます.そこでffffff 8 Bということになりました.