Я новичок в C/C++. После долгих исследований мне нужна ваша помощь. Я просто хочу сохранить номер в unsigned char*
, а затем вернуть номер обратно.int to unsigned char * и наоборот
int nu = 50;
unsigned char byteArray[sizeof(int)];
memcpy(byteArray, &nu, sizeof(int));
int newNu = reinterpret_cast<int>(byteArray);
Ожидается, что новый номер будет равен 50, вместо этого это не так. Может ли кто-нибудь показать мне, где я ошибаюсь?
Для int
->unsign char*
Я думаю, что я был прав, но как изменить ход? это правильный путь? btw, я скомпилировал это на Visual Studio
Если вы новичок в C++ не трогают массивы, указатели, тетср, и особенно reinterpret_cast с шестью футов полюсом. –
Благодарю вас всех, я только начал изучать C/C++ в течение нескольких месяцев. Согласитесь, что беспорядок с управлением памятью - такая боль. Сейчас я сделаю шаг медленнее ... –