[英]Cast from int64 to byte array
我寫了下面的代碼,將很長的一段時間轉換為字節數組。
BYTE Buffer[8 +32];
BYTE * Temp = reinterpret_cast<BYTE*> (&Size);
Buffer[0] = Temp[0]; Buffer[1] = Temp[1]; Buffer[2] = Temp[2]; Buffer[3] = Temp[3];
Buffer[4] = Temp[4]; Buffer[5] = Temp[5]; Buffer[6] = Temp[6]; Buffer[7] = Temp[7];
//The next 32 bytes (Buffer[8] to Buffer[39]) contains the file name.
WriteFile(hFile,Buffer,40,&dwWrite,NULL);
現在的問題是將int64直接轉換為字節是否安全? 有哪些可能的錯誤?
我很清楚執行此操作的其他安全方法(例如Bitshifting),但我希望代碼盡可能快。
謝謝 !
問題是您以當前計算機的字節順序寫入磁盤。 如果您在具有不同字節順序的機器上再次讀取它,將會遇到很大的麻煩。
這就是為什么位移會是更好的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.