如何将int32_t放入字符数组中?(C++)
How do I put a int32_t into a char array? (c++)
我该如何放:
int32_t x = someValue;
进入我的字符数组:
char * msg = new char[65546]();
任何帮助将不胜感激!
这完全取决于您希望在数组中存储值的方式。如果要逐字节存储,可以使用以下代码:
int32_t x=someValue;
char *ptr = (char*)&x;
char *msg = new char[5];
for(int i=0;i<4;++i, ++ptr)
msg[i] = *ptr;
使用上述方法时应小心。因为有些系统使用大端序,而其他系统可能使用小端序。
另一方面,如果要将逐位存储到 char
数组中,请使用以下命令:
int32_t x=someValue;
int digs[12], count=0;
char *msg = new char[12];
while(x>0)
{
digs[count++]=x%10;
x/=10;
}
int i=0;
while(count--)
{
msg[i++] = digs[count] +'0';
}
无论哪种方式都有效。但最好选择第二个。因为它很容易转换回整数。
如果你想打印值,为什么不直接打印呢?
std::cout << "x = " << x << 'n';
char* msg = new char[123];
int32_t x = 123;
int offset = 0;
memcpy(msg + offset, reinterpret_cast<char*>(&x), sizeof(int32_t));
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组的地址分配给变量并删除
- 从C++本机插件更新Vector3数组
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 数组索引的值没有增加
- 将对象数组的引用传递给函数
- 为char数组调整zlib-zpipe
- 2D数组来自文本输入,中间有空格
- std::向量与传递值的动态数组
- 在c++中用vector填充一个简单的动态数组
- 使用strcpy将char数组的元素复制到另一个数组
- 使用指针从C++中的数组中获取最大值
- C++使用整数的压缩数组初始化对象
- 告诉一个 const char 数组,除了编译时 C 样式的字符串外,它不以 '