我想讀取我的文件的一些字節作爲整數值。例如,文件中包含相當於955C++如何讀取字節爲整數字節序獨立?
我可以讀取數據這樣的價值0x000003BB
:
ifstream input ("C:/Desktop/myFile", ios::binary);
uint8_t buffer[4] = {0};
input.read((char*)buffer, sizeof(buffer));
但我怎麼能緩衝區數組轉換爲相應的INT-值955?如果可能的話,以獨立於字節序的方式,因爲這和大端字節順序的其他文件,但我的系統是在小端字節順序。謝謝:)
它沒有考慮字節序。如果我打印出data-var,我得到的值'3137536000'等於'0xBB030000',但實際上我需要獲得'0x000003BB' – Opa114
@ Opa114,這個代碼不考慮endianness *,因爲它在一臺機器上工作任何字節序。有一個簡單的錯誤,這將轉換* little * endian,而不是你想要的big endian。將緩衝區索引更改爲從0到3,它將起作用。 – user2079303
@ user2079303感謝您的提示! – Opa114