我是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++几个月。同意搞乱内存管理是一件很痛苦的事情。我现在会慢一点... –