【问题标题】:Array of Int and *Char - C++Int 和 *Char 数组 - C++
【发布时间】:2010-12-13 00:52:20
【问题描述】:

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

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

【问题讨论】:

标签: c++ lzo


【解决方案1】:

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

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

同样,当你解压到一个字符缓冲区时,你可以把它当作一个整数数组来使用:

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

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

【讨论】:

    猜你喜欢
    • 2021-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    • 2014-09-10
    相关资源
    最近更新 更多