我不知道這是否是正確的,我已經測試過它,似乎有些字節是關閉... 基本上,我有以下幾點:無符號字符數組鑄造長長
unsigned char szBuffer[1024] = {0};
long long nValue = 1334553536;
memcpy(szBuffer, (char*)&nValue, sizeof(long long));
//
long long nNewValue = reinterpret_cast<long long>(szBuffer);
printf(nNewValue); //prints out a smaller number than previously stated
會任何人都會指出我出錯的地方?謝謝。
'printf'的第一個參數是一個格式字符串; 'printf(rNewValue)'可能不會編譯。請發佈真實的代碼。 –
最初它是std :: cout,但後來我意識到我偶然添加了C標記,因此我將其更改爲printf()而不考慮它是否會編譯。這只是一個小小的改變。其餘的編譯。 –
C標籤不再存在。再次,請張貼真實的代碼,複製並粘貼您實際編制的代碼。如果你知道你的代碼中有什麼錯誤是相關的,你就不需要問這個問題。 http://sscce.org/ –