0

我想使用 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;

我想要这样的东西。它是否正确?谢谢

4

1 回答 1

1

您可以将整数数组直接视为(二进制)字符缓冲区并将其传递给您的压缩函数:

char *buffer = reinterpret_cast<char *>(my_int_array);

同样,当您解压缩到字符缓冲区时,您可以将其用作整数数组:

int *array = reinterpret_cast<int *>(my_char_buffer);

确保跟踪整数数组的原始长度并且不访问无效索引。

于 2010-12-13T00:57:26.467 回答