如何复制和截断/填充数组
How to copy and truncate/pad an array
我有一个数据包的头,其中包含关于发送者的各种信息;我想用C++来解析它。该数组采用字节数组(unsigned char[24]
)的形式
在Java中,我可能会使用Array.copyOfRange()
之类的东西来解析它,以获取前4个字节、后4个字节等。
但在C++中,并没有一种明显的方法可以实现这一点。我已经研究了标准库中的向量、数组和副本,但它们似乎都无法以我想要的方式对数组进行切片(并截断或填充)。
标准库中是否有可以做到这一点的东西,或者我是否需要推出自己的解决方案?
大多数容器都采用指针范围,例如字符串(a+0,a+4)。用指针算法解决这个问题:
unsigned char A[24];
vector<unsigned char> v0(A+0,A+4); // per chunk
for(int i=0; i<24; i+=4) { // or in a loop
vector<unsigned char> chunk(A+i,A+i+4);
...
}
相关文章:
- C++ 填充数组时遇到问题
- 如何使用同时设置计数和填充数组的函数
- 如何使填充数组的函数发送到函数?而不是其参数中的数组
- 如何使用文件填充数组并将其与用户输入C 进行比较
- 使用 memset 填充数组会显示垃圾
- Visual Studio从文件中填充数组时中断
- 分段 填充数组时出错
- 用不同的值填充数组/矢量的边缘和中心
- 使用相同的数据填充数组对象或使用指针
- 是否可以使用三元运算符"?"在 C/C++ 中填充数组列表?
- 填充数组(写入位置0x00000000的访问冲突)
- 从文件中读取输入并填充数组以存储数据供以后使用
- c++当循环在填充数组时没有正确终止时,希望能帮助退出此循环
- 填充数组会导致数组周围的堆栈损坏
- Cuda有效地将数据插入到未排序的填充数组中
- 填充数组的 C++ 函数
- 访问部分填充数组上的第一个打开元素
- 将一个字节数组从C#传递到C++填充数组的C++com对象中
- 如何使用向量中的信息填充数组并从数组中选择随机项
- C,填充数组使用dec2bin转换器