可能重複:
Why does C print my hex values incorrectly?爲什麼fwrite向後打印十六進制值?
我fwrite的輸出信息到一個二進制文件,但是當我看它在XXD輸出爲十六進制是不是爲了。這是二進制文件應該看起來如何?
代碼打印到目的地:
int delim[] = { 0xabcd1234 };
fwrite(delim, 4, 1, destination);
char buffer[] = "I like dog";
fwrite(buffer, 1, 10, destination);
XXD輸出:
0000000: 3412 cdab 4920 6c69 6b65 2064 6f67 4...I like dog
正如你所看到的十六進制數爲3412 CDAB而不是ABCD1234
它不是操作系統,而是強制執行字節序處理器。 – 2011-12-31 19:07:49
@AlanHaggaiAlavi這就是它說的:-) – 2011-12-31 19:08:21
但是,編輯之前,情況並非如此。 :-) – 2011-12-31 19:11:33