我是C/C++的新手。經過長時間的研究,我需要你的幫助。我只想在unsigned char*
中存儲一個號碼,然後將號碼重新輸入。int爲無符號字符*反之亦然
int nu = 50;
unsigned char byteArray[sizeof(int)];
memcpy(byteArray, &nu, sizeof(int));
int newNu = reinterpret_cast<int>(byteArray);
我期待newNu將是50,而不是。任何人都可以告訴我我錯在哪裏?
對於int
- >unsign char*
我認爲我是正確的,但如何扭轉進展?這是正確的方式嗎?順便說一句,我編譯這Visual Studio
如果你是新的C++不碰數組,指針,memcpy的,特別是與六隻腳杆的reinterpret_cast。 –
謝謝大家,我剛剛開始自學C/C++幾個月。同意搞亂內存管理是一件很痛苦的事情。我現在會慢一點... –