从c ++中的int获取byte []

时间:2016-07-14 10:03:19

标签: c++

所以在我的C ++程序中,我试图复制C#BitConverter.GetBytes()函数,或者至少找到一些方法,它会返回相同的结果,(顺便说一下,我不能使用std::vector<unsigned char>这个我&#39} ;在其他论坛上看到一些人推荐。)

我使用了这个,所以我可以使用int然后获取byte[]然后获取byte[]并使用它来设置特定内存地址的内存。我也试过了

int x;
static_cast<char*>(static_cast<void*>(&x));
没有运气。任何建议都表示赞赏!

2 个答案:

答案 0 :(得分:5)

#include <string>

int i = 123;
char c[sizeof(int)];
std::memcpy(c,&i,sizeof(int));

答案 1 :(得分:0)

另一种方法是

union Value
{
   int val;
   char bytearray[sizeof(int)];
};

不使用memcpy.Instead它允许内存中的值为不同的类型