所以在我的C ++程序中,我试图复制C#BitConverter.GetBytes()
函数,或者至少找到一些方法,它会返回相同的结果,(顺便说一下,我不能使用std::vector<unsigned char>
这个我&#39} ;在其他论坛上看到一些人推荐。)
我使用了这个,所以我可以使用int
然后获取byte[]
然后获取byte[]
并使用它来设置特定内存地址的内存。我也试过了
int x;
static_cast<char*>(static_cast<void*>(&x));
没有运气。任何建议都表示赞赏!
答案 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它允许内存中的值为不同的类型