我想使用LZO压缩int或byte数组。所以我需要将int数组复制到* char然后我将压缩并保存到文件。之后我需要做反向操作。我将打开文件,用* Char读取它,并解压缩到int。
数组我不想在* char中查看转换每个int。有什么办法可以快速完成吗?
char *entrada;
int *arrayInt2;
int arrayInt1[100];
int ctr;
for(ctr=0;ctr<=100; ctr++)
{
arrayInt1[ctr] = ctr;
}
entrada = reinterpret_cast<char *>(arrayInt1);
arrayInt2 = reinterpret_cast<int *>(entrada);
return 0;
我想要这样的东西。它是否正确? 谢谢
答案 0 :(得分:1)
您可以将整数数组直接视为(二进制)字符缓冲区并将其传递给压缩函数:
char *buffer = reinterpret_cast<char *>(my_int_array);
类似地,当您解压缩到字符缓冲区时,可以将其用作整数数组:
int *array = reinterpret_cast<int *>(my_char_buffer);
确保跟踪整数数组的原始长度,并且不要访问无效索引。