我將文件大小存儲在二進制文件中,我可以將此文件大小存儲到char[8]
緩衝區中。我想將此char[]
轉換爲off_t
類型,以便能夠將它作爲參數truncate(const char *path, off_t length)
傳遞。將char []轉換爲off_t
我試過這種天真的方法,它似乎大部分時間工作,但它有時失敗,給了我一個奇怪的位序列。
off_t pchar_2_off_t(char* str, size_t size)
{
off_t ret = 0;
size_t i;
for (i = 0; i < size; ++i)
{
ret <<= 8;
ret |= str[i];
}
return ret;
}
轉換的'STR [1]'以某種簽名:'RET | =(無符號)STR [1];' – pmg 2015-02-07 15:14:30
你知道,如果你的編譯器'char'類型是有符號還是無符號?這可能與它有關,可能是文件的實際*寫入。 – 2015-02-07 15:14:38
@pmg>它看起來沒有任何作用。轉換失敗。 – user1527491 2015-02-07 15:19:09