2010-12-13 20 views
0

intまたはbyteの配列を圧縮するためにLZOを使用したいと思います。したがって、int配列を* charにコピーしてから、圧縮してファイルに保存する必要があります。その後、私は逆の操作を行う必要があります。私はファイルを* Charで読み込み、intの配列に解凍します。Intと* Char-C++の配列

各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; 

私はこのようなものが欲しいです。これは正しいです? おかげ

+1

'* char'とは何ですか?あなたは 'char *'を意味しますか? [良い入門C++の本](http://stackoverflow.com/questions/388242/the-definitive-c++book-guide-and-list)を入手することから始めましょう。 –

答えて

1

あなたが直接(バイナリ)の文字バッファとして整数配列を扱い、あなたの圧縮関数に渡すことができます:あなたは、文字バッファに解凍したときに

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

と同様に、あなたはとしてそれを使用することができます整数配列:

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

整数配列の元の長さを記録し、無効なインデックスにアクセスしないようにしてください。

+0

ありがとうございます!できます! –