0

LZO を使用して int または byte の配列を圧縮したいと考えています。したがって、int 配列を *char にコピーする必要があり、圧縮してファイルに保存します。そして、私は逆の操作をする必要があります。*Char で読み取ったファイルを開き、int の配列に解凍します。

各 int を変換するために *char を調べたくありません。これをすばやく行う方法はありますか?

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 に答える