如何在c ++中将int数组转换为字节数组[重复]

Posted

技术标签:

【中文标题】如何在c ++中将int数组转换为字节数组[重复]【英文标题】:How to cast an int array to a byte array in c++ [duplicate] 【发布时间】:2018-03-29 09:28:25 【问题描述】:

嘿,我想知道如何将 C++ 中的 Int 数组转换为字节数组,以及声明方法是什么。如果它更简单并且不使用指针,我将不胜感激。感谢 cmets

【问题讨论】:

请先查看***.com/help/how-to-ask 和***.com/help/mcve。 [整数到字节数组转换代码][1] [1]:***.com/a/5585683/5250973 您需要更具体地了解您的要求。你设想最终的结果是什么样的?到目前为止,您尝试过什么? 【参考方案1】:

此解决方案不太方便,但从您的角度来看可能更容易理解:

std::array<int, 3> arr_ints = 1, 2, 3;
std::array<unsigned char, 3> arr_bytes;

for(unsigned i=0; i<arr_ints.size(); ++i)
    arr_bytes[i] = static_cast<unsigned char>(arr_ints[i]);

【讨论】:

0 | arr_ints[i]没有多大意义,不是吗?它是否旨在抑制演员警告?那么真正的演员会更好。 将其更改为显式演员表!

以上是关于如何在c ++中将int数组转换为字节数组[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在java中将字符串数组转换为int数组[重复]

如何在c ++中将数组字节转换为字符串?

在 C 中将偏移字节数组转换为 int32 数组

如何在C#中将IntPtr转换为字节数组?

如何在 C++ 中将数字字符串转换为 int 数组 [重复]

如何在 C 中将字节数组转换为十六进制字符串?