[問題] char 轉 int 取的位置不如預期
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
GCC
問題(Question):
typedef unsigned char byte;
我利用 byte *SrcArray = (byte*)calloc(1024L, sizeof(byte));
動態建立了一個陣列並把資料到進去
轉換我是使用 i = ((unsigned long int *)SrcArray)[data_adds];的方式
但我發現這邊 data_adds並不是我所想像的由該位置開始往後取4個位置
例如資料是 0x00 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 0x99 0xAA 0xBB
((unsigned long int *)SrcArray)[0]取得的是 0x00112233
但 ((unsigned long int *)SrcArray)[1]取得的卻是 0x44556677
不是我所想的 0x11223344這樣
應該要用什麼作法比較合適呢?
謝謝
補充說明(Supplement):
平台為x86,輸出已做endian處理
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.241.50
→
10/17 18:20, , 1F
10/17 18:20, 1F
→
10/17 18:55, , 2F
10/17 18:55, 2F
→
10/17 19:09, , 3F
10/17 19:09, 3F
→
10/17 19:09, , 4F
10/17 19:09, 4F
→
10/17 19:11, , 5F
10/17 19:11, 5F
→
10/17 20:11, , 6F
10/17 20:11, 6F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章